從 HockeySDK 移轉至適用於 iOS 的 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.embeddedframework 參考。 按兩下 [ 移除參考] 按鈕,請勿按兩下 [ 移至垃圾桶] 按鈕。

  2. 開啟您的項目設定,然後在 [標頭搜尋路徑 / 架構搜尋路徑] 區段的 [建置設定] 索引標籤下,移除與 HockeySDK 相關的頭檔位置。

  3. 開啟您的項目設定,然後在 [鏈接二進位檔與連結庫] 區段中的 [建置階段] 索引標籤底下,移除與 HockeySDK 相關的相依性專案。

  4. 從檔案系統中刪除 HockeySDK.embeddedframework

Podfile

如果您已使用 CocoaPods 新增 SDK,請從 Podfile 移除該 pod "HockeySDK" 行,然後執行 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
UpdateManager Distribute

2.更新 SDK 設定程式碼

2.1 轉換應用程式識別碼

App Center SDK 使用全域唯一標識碼 (GUID) 格式的應用程式識別碼。 App Center 可以使用您的 HockeyApp 應用程式識別碼,但您需要將其轉換成不同的格式。 若要轉換標識碼,您必須新增四個連字元,才能取得 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 AppCenterDistribute;
    
    import AppCenter
    import AppCenterAnalytics
    import AppCenterCrashes
    import AppCenterDistribute
    
  2. 取代註冊碼

    didFinishLaunchingWithOptions尋找方法並取代 HockeyApp 程式代碼出現次數。

    之前:

    [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"];
    [[BITHockeyManager sharedHockeyManager] startManager];
    [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation];
    
    BITHockeyManager.shared().configure(withIdentifier: "APP_IDENTIFIER")
    BITHockeyManager.shared().start()
    BITHockeyManager.shared().authenticator.authenticateInstallation()
    

    之後:

    [MSACAppCenter start:@"{Your app secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class], [MSACDistribute class]]];
    
    AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self, Distribute.self])
    

    注意

    App Center SDK 沒有 的 [[BITHockeyManager sharedHockeyManager] configureWithBetaIdentifier:liveIdentifier:delegate]對等專案。

  3. [選擇性]修改專案的 Info.plist

    如果您想要使用 散發,請遵循上述步驟:

    • 如果 XCode 將 Info.plist 顯示為原始碼) ,請在 Info.plist 檔案中新增 或 CFBundleURLTypes 的新金鑰 URL types (。
    • 將第一個子項目的索引鍵變更為 URL SchemesCFBundleURLSchemes
    • 輸入 appcenter-${APP_SECRET} 作為網址設定,並以您應用程式的 [應用程式密碼] 取代 ${APP_SECRET}

    如需詳細資訊,請參閱 App Center散發檔

  4. 取代整個應用程式的 HockeyApp API 呼叫。 以下提供詳細的 API 對應數據表。

3.服務和功能比較

核心

功能 HockeyApp App Center
調整記錄層級 [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
識別安裝 [BITHockeyManager sharedHockeyManager].installString [MSACAppCenter installId]
識別使用者 [BITHockeyManager sharedHockeyManager].userID [MSACAppCenter setUserId:@"your-user-id"]

分析

HockeySDK 會啟用每個預設值的計量收集。 只有在您將 類別傳遞 Analytics 至 方法時, start App Center SDK 才會註冊 Analytics 服務。

功能 HockeyApp App Center
自動追蹤會話 無法停用 無法停用檔 ()
具有屬性的自定義事件 Yes [MSACAnalytics trackEvent:withProperties:]
在運行時間停用服務 [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES [MSACAnalytics setEnabled:NO]

損毀

HockeySDK 會根據預設啟用損毀報告。 下次啟動應用程式時,系統會立即將當機傳送至伺服器。 只有在您將 類別傳遞 Crashesstart 方法時,App Center SDK 才會註冊當機服務。

功能 HockeyApp App Center
自動傳送當機 [[BITHockeyManager sharedHockeyManager].crashManager setCrashManagerStatus: BITCrashManagerStatusAutoSend] 預設會啟用檔 ()
產生測試損毀 [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] [MSACCrashes generateTestCrash]
上一次損毀的相關信息 [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] [MSACCrashes lastSessionCrashReport]
Mach 例外狀況處理 預設為停用 預設會啟用檔 ()
附加其他元數據 Yes 您可以從委派) 附加檔 (
自定義使用者對話框 setAlertViewHandler 預設不會提供檔 ()
在運行時間停用服務 [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] [MSACCrashes setEnabled:NO]

散發

注意

不同於 HockeyApp,App Center 應用程式內更新功能只適用於使用 App Center 散發服務所散發的組建。 附加調試程式時,散發將無法運作。 如果應用程式使用私人通訊群組,在App Center散發SDK新增之後第一次安裝並開啟應用程式後,瀏覽器會開啟以驗證使用者並啟用應用程式內更新。 如果您在運行時間設定私人應用程式內更新追蹤,此瀏覽器也會開啟。 這是一次性步驟,不會針對您應用程式的後續版本進行。 如需詳細資訊,請參閱 App Center散發檔

HockeySDK 預設不會啟用應用程式內更新。 只有在您將 類別傳遞 Distribute 至 方法時, start App Center SDK 才會註冊應用程式內更新服務。 此模組預設會啟用,不同於 HockeySDK。

功能 HockeyApp App Center
受限制的應用程式內更新 [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation] MSACDistribute.updateTrack
在運行時間停用服務 [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager: YES] [MSACDistribute setEnabled:NO]
自訂更新對話框 shouldDisplayUpdateAlertForUpdateManager 文件