从 HockeySDK 迁移到适用于 macOS 的 App Center SDK
重要
Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。
如果要更新应用程序以使用 App Center SDK 而不是 HockeySDK,请遵循此文档。
1. 更新库
1.1 删除旧的 HockeySDK
手动
如果已手动添加 SDK,请执行以下步骤:
从 XCode 项目中删除
HockeySDK.framework
引用。 单击 “删除引用 ”按钮,不要单击“ 移动到回收站 ”按钮。打开项目设置,在“标题搜索路径框架搜索路径 / ”部分的“生成设置”选项卡下,删除与 HockeySDK 相关的头文件的位置。
打开项目设置,在“将二进制文件与库链接”部分的“生成阶段”选项卡下,删除与 HockeySDK 相关的依赖项条目。
从文件系统中删除
HockeySDK.framework
。
Podfile
如果已使用 CocoaPods 添加了 SDK,请从 Podfile 中删除该 pod "HockeySDK-Mac"
行,然后运行 pod install
。
Carthage
如果已使用 Carthage 添加 SDK,请执行以下步骤:
从
Cartfile
中删除 HockeySDK 引用。 从文件系统中删除Cartfile.Resolved
。从 XCode 项目中删除
HockeySDK.framework
和HockeySDK.framework.dSYM
,然后单击“ 移动到回收站 ”按钮。
1.2 添加新的 App Center SDK
App Center SDK 支持通过 Cocoapods、Carthage、Swift 包管理器以及使用 Xcode 项目中的框架进行集成。 阅读 App Center SDK 文档中如何集成 App Center SDK 的详细说明。
注意
App Center SDK 采用模块化方法设计,因此可以使用任何或所有服务。 请参阅下表中的等效项:
HockeyApp 类 | App Center 模块 |
---|---|
MetricsManager |
Analytics |
CrashManager |
Crashes |
2.更新 SDK 设置代码
2.1 转换应用程序标识符
App Center SDK 使用全局唯一标识符 (GUID) 格式的应用程序标识符。 App Center 可以使用 HockeyApp 应用 ID,但需要将其转换为不同的格式。 若要转换标识符,必须添加四个连字符才能获取 8-4-4-4-12 表示形式。
在 (HockeyApp) 之前: 00112233445566778899aabbccddeeff
(App Center) 后: 00112233-4455-6677-8899-aabbccddeeff
2.2 替换应用程序代码中的 SDK 初始化
替换 AppDelegate 类中的以下导入。
早于:
@import HockeySDK;
import HockeySDK
晚于:
@import AppCenter; @import AppCenterAnalytics; @import AppCenterCrashes;
import AppCenter import AppCenterAnalytics import AppCenterCrashes
替换注册代码
didFinishLaunchingWithOptions
找到 方法并替换 HockeyApp 代码。早于:
[[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"]; [[BITHockeyManager sharedHockeyManager] startManager];
BITHockeyManager.shared().configure(withIdentifier: "APP_IDENTIFIER") BITHockeyManager.shared().start()
晚于:
[MSACAppCenter start:@"{Your app secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self])
在整个应用程序中替换 HockeyApp API 调用。 下面提供了详细的 API 映射表。
3. 服务和功能比较
核心
功能 | HockeyApp | 应用中心 |
---|---|---|
调整日志级别 | [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose |
[MSACAppCenter setLogLevel:MSACLogLevelVerbose] |
分析
HockeySDK 按默认值收集指标。
App Center SDK 不会按默认值收集任何 (分析) 指标。 若要使用 App Center SDK 收集指标,请传递给 MSACAnalytics
start:
方法。
功能 | HockeyApp | 应用中心 |
---|---|---|
自动跟踪会话 | 默认情况下启用 | 默认启用文档 () |
具有属性的自定义事件 | 是 | [MSACAnalytics trackEvent:withProperties:] |
在运行时禁用服务 | [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES |
[MSACAnalytics setEnabled:NO] |
崩溃
HockeySDK 报告每个默认值的崩溃。 下次启动应用时,将立即将崩溃发送到服务器。
App Center SDK 不会按默认值报告任何崩溃。 若要使用 App Center SDK 收集崩溃,请传递给 MSACCrashes
start:
方法。
功能 | HockeyApp | 应用中心 |
---|---|---|
自动发送崩溃 | [[BITHockeyManager sharedHockeyManager].crashManager setAutoSubmitCrashReport: YES] |
默认启用文档 () |
生成测试崩溃 | [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] |
[MSAC 崩溃生成TestCrash] |
有关上一次崩溃的信息 | [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] |
[MSAC 崩溃 lastSessionCrashReport] |
马赫异常处理 | [[BITHockeyManager sharedHockeyManager].disableMachExceptionHandler = YES] |
默认启用文档 () |
附加其他元数据 | 是 | 可以从委托) 附加文档 ( |
“自定义用户”对话框 | setCrashReportUIHandler | 默认情况下未提供文档 () |
在运行时禁用服务 | [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] |
[MSAC 崩溃 setEnabled:NO] |