macOS SDK 故障排除

重要

Visual Studio App Center 于 2025 年 3 月 31 日停用,但分析和诊断功能除外,这些功能将继续受支持,直到 2026 年 6 月 30 日。 了解详细信息

安装过程中的问题

  1. 在控制台中,查找包含消息“App Center SDK 已成功配置”的 Assert 日志。 这会验证是否已成功配置 SDK。
  2. 如果使用 Cocoapods 在 macOS 应用中集成 App Center,并出现错误消息 - CocoaPods - Unable to find a specification for AppCenter请运行 pod repo update 以更新本地 Cocoapods 存储库,然后再次运行 pod install
  3. 如果要手动集成 SDK 二进制文件,请确保为项目启用模块。

分析数据不会显示在门户中。

  1. 请确保已正确集成 SDK 模块。

  2. 请确保在 start:withServices: 方法调用中包含正确的应用机密。 可以通过在门户中打开应用并导航到start:withServices:”页来复制确切的代码。

  3. 若要查看发送到后端的日志,请在应用程序中将日志级别更改为 详细,然后 SDK 将在 控制台中打印日志。 在 SDK 启动之前插入以下调用:

    [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
    
    AppCenter.logLevel = .verbose
    

    请确保日志中会显示“已成功配置的 App Center SDK”(在 INFO 日志级别),然后检查是否看到 HTTPS 请求日志。

  4. 确保设备处于联机状态,并且应用具有 Internet 访问权限。

    注释

    如果你的应用正在使用应用沙盒,则必须设置允许传入(服务器)和传出(客户端)连接的功能,以允许应用有权访问 Internet。 Xcode 9 默认启用应用沙盒,但需要显式设置传入和传出连接的功能。

    在项目导航器中选择项目,选择 “功能 ”选项卡,如果应用正在使用沙盒,请添加传入和传出连接的功能。

  5. 有时,日志可能需要几分钟才能显示在门户中。 如果情况如此,请等待一段时间。

  6. 若要检查 App Center 后端是否已收到数据,请转到 Analytics 服务中的“日志流”部分。 你的事件在发送后应显示。

系统崩溃不会显示在门户中。

  1. 请确保已正确集成 SDK 模块。

  2. 请确保在 start:withServices: 方法调用中包含正确的应用程序密钥。 可以通过在门户中打开应用并导航到start:withServices:”页来复制确切的代码。

  3. 崩溃后重启应用。 应用重启后,App Center 崩溃才会转发崩溃日志。 此外,如果附加到调试器,SDK 不会转发任何故障日志。 请确保在应用崩溃时没有附加调试器。

  4. 若要查看发送到后端的日志,请在应用程序中将日志级别更改为 详细,然后 SDK 将在 控制台中打印日志。 在 SDK 启动之前插入以下调用:

    [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
    
    AppCenter.logLevel = .verbose
    

    请确保日志中会显示“已成功配置的 App Center SDK”(在 INFO 日志级别),然后检查是否看到 HTTPS 请求日志。

  5. 请勿使用提供崩溃报告功能的任何其他库。 只能在应用中集成一个崩溃报告 SDK。

  6. 确保设备处于联机状态,并且应用具有 Internet 访问权限。

    注释

    如果你的应用正在使用应用沙盒,则必须设置允许传入(服务器)和传出(客户端)连接的功能,以允许应用有权访问 Internet。 Xcode 9 默认启用应用沙盒,但需要显式设置传入和传出连接的功能。

    在项目导航器中选择项目,选择“ 功能 ”选项卡,如果应用正在使用沙盒,请启用传入和传出连接。

  7. 有时,日志可能需要几分钟才能显示在门户中。 如果情况如此,请等待一段时间。

  8. 如果要检查 SDK 是否在下一个应用启动时检测到崩溃,可以调用 API 来检查应用是否在上一个会话中崩溃并显示警报。 或者,可以扩展故障 didSucceedSendingErrorReport 回调,以查看它是否已成功发送到服务器。

  9. 若要检查 App Center 后端是否收到崩溃,请转到 Analytics 服务中的“日志流”部分。 你的崩溃报告发送后应该会在那里显示。

保护 App Center 机密值

这是 app_secret 应用的标识符,需要知道流量应用于哪些应用,并且不能用于检索或编辑现有数据。 如果暴露了 app_secret 数据,最大的风险是向应用发送不良数据,但它不会对数据的安全性产生影响。

若要检索任何敏感数据,需要提供在客户端生成的应用/用户 令牌。 无法使客户端上的数据完全安全。

可以通过使用环境变量将应用机密注入代码来提高应用的安全性。 这样,密码在代码中不可见。