macOS 扩展入门
扩展仅支持崩溃报告。
若要了解如何将 App Center SDK 添加到容器应用,请参阅适用于 App Center macOS 入门。
让我们开始在应用扩展中设置 App Center macOS SDK,以使用 App Center崩溃。
1.先决条件
若要使用 SDK,App Center要求:
- macOS 项目是在 macOS 版本 10.14.4 或更高版本的 Xcode 11 或更高版本中设置的。
- 面向在 macOS 10.9 或更高版本上运行的设备。
- 你未使用任何其他提供故障报告功能的库。
2.在门户App Center应用以获取应用机密
如果已在门户门户中创建App Center,可以跳过此步骤。
- 前往appcenter.ms。
- 注册或登录,然后点击门户右上角显示"添加新项"的蓝色按钮,然后从下拉菜单中选择"添加新应用"。
- 输入应用的名称和可选说明。
- 选择 macOS 作为 OS,选择 Objective-C/Swift 作为平台。
- 点击右下角的"添加新应用 "按钮。
创建应用后,可以在门户的"设置"页上获取App Center机密。 在 " 设置 " 页的右上角,单击 三个垂直点 ,然后选择 Copy app secret 以获取您的应用程序机密。
备注
使用其他 macOS 项目中的现有应用机密有副作用。 App Center 不支持对同一个 App Center 应用程序上的项目进行筛选。 例如,列出特定版本的故障会列出此版本的两个项目的所有崩溃,而不会有任何区别。 这可能会造成混淆。
备注
在中 4.0.0 引入了 App Center 重大更改的版本。 按照 迁移到 APP CENTER SDK 4.0.0 和更高 版本,从以前的版本迁移 App Center。
3. 添加 App Center SDK 模块
App Center SDK 可以通过 Cocoapods、 Carthage 或手动将二进制文件添加到项目中,将其集成到应用中。
3.1 通过 Cocoapods 集成
将以下依赖项添加到
podfile,以将 App Center 崩溃添加到应用中。 以下框架拉取了以下内容: AppCenter 和 AppCenterCrashes。pod 'AppCenter/Crashes'运行
pod install安装新定义的 pod,并打开项目的.xcworkspace。
备注
如果在运行时看到类似错误 [!] Unable to find a specification for `AppCenter` pod install ,请运行 pod repo update 从 Cocoapods 存储库获取最新的 pod,然后运行 pod install 。
现在,你已在应用程序中集成了框架,接下来可以启动 SDK 并使用 App Center 的服务。
3.2 通过 Carthage 集成
下面是有关如何使用 Carthage 0.30 版或更高 版本(构建依赖项并为你提供二进制框架)在 Xcode 项目中集成 App Center SDK 的步骤。
将以下依赖项添加到
Cartfile,以将 App Center 包含到应用中。 这会纳入所有框架。 然后,你可以仅链接在应用中使用的这些框架。# Use the following line to get the latest version of App Center github "microsoft/appcenter-sdk-apple"# Use the following line to get the specific version of App Center github "microsoft/appcenter-sdk-apple" ~> X.X.X运行
carthage update。 这会将依赖项提取到 Carthage/签出 文件夹,然后生成每个框架。打开应用程序目标的 " 常规 设置" 选项卡。将 AppCenter 和 AppCenterCrashes 文件从 Carthage/Build/ Folder 拖放到 Xcode 的项目导航器中。 启动 SDK 需要 AppCenter。 如果未将其添加到项目中,则其他模块将无法运行,并且你的应用程序将不会进行编译。
随即出现一个对话框,确保已选中应用目标。 然后单击“完成”。
备注
如果
carthage copy-frameworks在 生成阶段 使用,则不应在此添加 App Center sdk,因为它们作为静态框架提供。
现在,你已在应用程序中集成了框架,接下来可以启动 SDK 并使用 App Center 的服务。
3.3 通过 Swift 程序包管理器
- 在 Xcode 菜单中,单击"文件> Swift 包>添加包依赖项"。
- 在出现的对话框中,输入存储库 https://github.com/microsoft/appcenter-sdk-apple.git URL:。
- 在 "版本"中,选择 "上一个主版本", 然后使用默认选项。
- 在"包产品"列中 选择所需的 模块。
将框架集成到应用程序中后,可以启动 SDK 并使用 App Center服务。
备注
如果要通过 SwiftPM 集成App Center并想要在应用的扩展目标中使用它,请确保在配置 DISABLE_DIAMOND_PROBLEM_DIAGNOSTIC=YES 中提供 。 这是避免将模块链接到多个目标时出现 SwiftPM 限制所必需的。
3.4 通过将二进制文件复制到项目中来集成
下面是有关如何在 Xcode 项目中集成已编译的二进制文件,为应用程序扩展设置 App Center 崩溃的步骤。
备注
App Center SDK 支持使用 XCframework 。 如果要将 XCframeworks 集成到项目中,请从 "发布" 页下载 AppCenter-SDK-Apple-XCFramework.zip 并将其解压缩。 生成的文件夹内容不特定于平台,而是每个模块都包含 XCframeworks。 它们的集成方式与常规框架相同,如下所述。
下载作为 zip 文件提供的 APP CENTER SDK 框架。
解压缩该文件后,你将看到一个名为 AppCenter 的文件夹,其中包含每个平台文件夹上每个 App Center 服务的不同框架。 项目中需要名为的框架,
AppCenter因为它包含在不同模块之间共享的代码。可有可无为第三方库创建子目录。
- 最佳做法是,第三方库通常位于子目录中,通常称为 供应商。 如果项目没有使用库的子目录进行组织,请立即创建一个 供应商 子目录。
- 在 Xcode 项目中创建一个名为 " 供应商 " 的组,以在磁盘上模拟文件结构。
在查找器中打开解压缩的 AppCenter-Apple 文件夹,然后将文件夹复制到项目的文件夹中所需的位置。 此文件夹包含 App Center SDK 支持的其他平台的子文件夹中的框架,因此你可能需要删除不需要的子文件夹。
将 SDK 框架添加到 Xcode 中的项目:
- 请确保 "项目导航器" (⌘ + 1) 可见。
- 现在,将 AppCenter 和 AppCenterCrashes 从上一) 步的位置中拖放 (到 Xcode 的项目导航器中。 启动 SDK 需要 AppCenter。 如果未将其添加到项目中,则其他模块将无法运行,并且你的应用程序扩展将不会编译。
- 随即出现一个对话框,请确保已选中应用扩展目标。 然后单击“完成”。
将框架集成到应用扩展中后,可以启动 SDK 并使用 App Center服务。
4.启动 SDK
若要App Center,必须选择加入 () 模块。 默认情况下,不会启动任何模块,并且必须在启动 SDK 时显式调用每个模块。
4.1 添加 import 语句
在包含应用扩展的入口点的 文件中插入以下行。 例如,在 Today 扩展的主 ViewController 文件中。
@import AppCenter;
@import AppCenterCrashes;
import AppCenter
import AppCenterCrashes
4.2 添加 start:withServices: 方法
在应用扩展的入口点中插入以下行。 例如,在 viewDidLoad Today 扩展的主 ViewController 文件的 方法内。
[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACCrashes class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Crashes.self])
目前,应用程序扩展仅支持崩溃报告。
4.3 将 占位符替换为应用机密
请确保将 {Your App Secret} 文本替换为应用程序扩展的实际值。 可以在门户上的"入门"页或"设置"页上找到App Center机密。
"入门"页包含上述代码示例,其中包含应用机密,可以复制粘贴整个示例。
很好,你已设置为可视化 SDK 自动收集的门户上的崩溃数据。
查看 App Center 崩溃 的相关文档,了解如何自定义应用扩展并使用更高级的功能。