从 HockeySDK 迁移到适用于 tvOS 的 App Center SDK

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。

详细了解支持时间线和替代方案。

如果要更新应用程序以使用 App Center SDK 而不是 HockeySDK,请遵循此文档。

1. 更新库

1.1 删除旧的 HockeySDK

手动

如果已手动添加 SDK,请执行以下步骤:

  1. 从 XCode 项目中删除 HockeySDK.framework 引用。 单击 “删除引用 ”按钮,不要单击“ 移动到回收站 ”按钮。

  2. 打开项目设置,在“标题搜索路径框架搜索路径 / ”部分的“生成设置”选项卡下,删除与 HockeySDK 相关的头文件的位置。

  3. 打开项目设置,在“将二进制文件与库链接”部分的“生成阶段”选项卡下,删除与 HockeySDK 相关的依赖项条目。

  4. 从文件系统中删除 HockeySDK.framework

Podfile

如果已使用 CocoaPods 添加了 SDK,请从 Podfile 中删除该 pod "HockeySDK-tvOS" 行,然后运行 pod install

Carthage

  1. Cartfile中删除 HockeySDK 引用。 从文件系统中删除 Cartfile.Resolved

  2. 从 XCode 项目中删除 HockeySDK.frameworkHockeySDK.framework.dSYM ,然后单击“ 移动到回收站 ”按钮。

  3. 打开“ 生成阶段 ”选项卡,找到 “运行脚本” 部分。 从 input.xcfilelistoutput.xcfilelist中删除 HockeyApp。

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 初始化

  1. 替换 AppDelegate 类中的以下导入。

    早于:

    @import HockeySDK;
    
    import HockeySDK
    

    晚于:

    @import AppCenter;
    @import AppCenterAnalytics;
    @import AppCenterCrashes;
    
    import AppCenter
    import AppCenterAnalytics
    import AppCenterCrashes
    
  2. 替换注册代码

    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])
    
  3. 在整个应用程序中替换 HockeyApp API 调用。 下面提供了详细的 API 映射表。

3. 服务和功能比较

核心

功能 HockeyApp 应用中心
调整日志级别 [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose [MSACAppCenter setLogLevel:MSACLogLevelVerbose]

分析

默认情况下,HockeySDK 收集指标。 默认情况下,App Center SDK 不会收集任何 (分析) 指标。 若要使用 App Center SDK 收集指标,请传递给 MSACAnalyticsstart: 方法。

功能 HockeyApp 应用中心
自动跟踪会话 默认情况下启用 默认启用文档 ()
具有属性的自定义事件 [MSACAnalytics trackEvent:withProperties:]
在运行时禁用服务 [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES [MSACAnalytics setEnabled:NO]

崩溃

HockeySDK 默认报告崩溃。 下次启动应用时,崩溃将立即发送到服务器。 默认情况下,App Center SDK 不会报告任何崩溃。 若要使用 App Center SDK 收集故障,请将 传递给 MSACCrashesstart: 方法。

功能 HockeyApp 应用中心
自动发送崩溃 默认情况下启用 默认启用文档 ()
生成测试崩溃 [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] [MSACCrashes generateTestCrash]
有关上一次崩溃的信息 [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] [MSACCrashes lastSessionCrashReport]
附加其他元数据 可以从委托) 附加文档 (
自定义用户对话框 setCrashReportUIHandler 默认情况下未提供文档 ()
在运行时禁用服务 [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] [MSACCrashes setEnabled:NO]