從 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,請遵循下列步驟:
從 XCode 專案移除
HockeySDK.embeddedframework
參考。 按兩下 [ 移除參考] 按鈕,請勿按兩下 [ 移至垃圾桶] 按鈕。開啟您的項目設定,然後在 [標頭搜尋路徑 / 架構搜尋路徑] 區段的 [建置設定] 索引標籤下,移除與 HockeySDK 相關的頭檔位置。
開啟您的項目設定,然後在 [鏈接二進位檔與連結庫] 區段中的 [建置階段] 索引標籤底下,移除與 HockeySDK 相關的相依性專案。
從檔案系統中刪除
HockeySDK.embeddedframework
。
Podfile
如果您已使用 CocoaPods 新增 SDK,請從 Podfile 移除該 pod "HockeySDK"
行,然後執行 pod install
。
Carthage
從
Cartfile
移除 HockeySDK 參考。 從檔案系統中刪除Cartfile.Resolved
。從 XCode 項目刪除
HockeySDK.framework
和HockeySDK.framework.dSYM
,然後按兩下 [ 移至垃圾桶 ] 按鈕。開啟 [ 建置階段] 索引 卷標,然後找出 [ 執行腳本 ] 區段。 從
input.xcfilelist
和output.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 初始化
取代 AppDelegate 類別中的下列匯入。
之前:
@import HockeySDK;
import HockeySDK
之後:
@import AppCenter; @import AppCenterAnalytics; @import AppCenterCrashes; @import AppCenterDistribute;
import AppCenter import AppCenterAnalytics import AppCenterCrashes import AppCenterDistribute
取代註冊碼
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]
對等專案。[選擇性]修改專案的 Info.plist
如果您想要使用 散發,請遵循上述步驟:
- 如果 XCode 將 Info.plist 顯示為原始碼) ,請在 Info.plist 檔案中新增 或
CFBundleURLTypes
的新金鑰URL types
(。 - 將第一個子項目的索引鍵變更為
URL Schemes
或CFBundleURLSchemes
。 - 輸入
appcenter-${APP_SECRET}
作為網址設定,並以您應用程式的 [應用程式密碼] 取代${APP_SECRET}
。
如需詳細資訊,請參閱 App Center散發檔。
- 如果 XCode 將 Info.plist 顯示為原始碼) ,請在 Info.plist 檔案中新增 或
取代整個應用程式的 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 會根據預設啟用損毀報告。 下次啟動應用程式時,系統會立即將當機傳送至伺服器。
只有在您將 類別傳遞 Crashes
至 start
方法時,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 | 文件 |