HockeySDK から App Center SDK for iOS に移行する
重要
Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。
HockeySDK ではなく App Center SDK を使用するようにアプリケーションを更新する場合は、このドキュメントに従ってください。
1. ライブラリを更新する
1.1 古い HockeySDK を削除する
手動
SDK を手動で追加した場合は、次の手順に従います。
XCode プロジェクトから参照を削除します
HockeySDK.embeddedframework
。 [ 参照の削除 ] ボタンをクリックし、[ ごみ箱に移動 ] ボタンをクリックしないでください。プロジェクト設定を開き、[ヘッダー検索パスフレームワークの検索パス / ] セクションの [ビルド設定] タブで、HockeySDK に関連するヘッダー ファイルの場所を削除します。
プロジェクト設定を開き、[バイナリとライブラリのリンク] セクションの [ビルド フェーズ] タブで、HockeySDK に関連する依存関係エントリを削除します。
ファイル システムから削除します
HockeySDK.embeddedframework
。
Podfile
CocoaPods を使用して SDK を追加した場合は、Podfile から行をpod "HockeySDK"
削除し、 を実行pod install
します。
Carthage
から HockeySDK 参照を削除します
Cartfile
。 ファイル システムから削除しますCartfile.Resolved
。XCode プロジェクトから と
HockeySDK.framework.dSYM
を削除HockeySDK.framework
し、[ごみ箱に移動] ボタンをクリックします。[ ビルド フェーズ ] タブを開き、[ スクリプトの実行 ] セクションを見つけます。 と
output.xcfilelist
から HockeyApp をinput.xcfilelist
削除します。
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) 形式のアプリケーション識別子が使用されます。 HockeyApp アプリ ID は App Center で使用できますが、別の形式に変換する必要があります。 識別子を変換するには、8-4-4-4-12 表現を取得するために 4 つのハイフンを追加する必要があります。
Before (HockeyApp): 00112233445566778899aabbccddeeff
After (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 を変更する
[配布] を使用する場合は、上記の手順に従います。
- Info.plist ファイルに または
URL types
CFBundleURLTypes
の新しいキーを追加します (XCode で Info.plist がソース コードとして表示される場合)。 - 最初の子項目のキーを または
CFBundleURLSchemes
にURL Schemes
変更します。 - URL スキームとして を入力
appcenter-${APP_SECRET}
し、 をアプリのアプリ シークレットに置き換えます${APP_SECRET}
。
この詳細については、 App Center の配布に関するドキュメントを参照してください。
- 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 では、既定でメトリックを収集できます。
App Center SDK では、 メソッドにクラスを渡 Analytics
す場合にのみ、Analytics サービスが登録されます start
。
機能 | HockeyApp | App Center |
---|---|---|
セッションを自動的に追跡する | 無効にできない | ドキュメント (無効にすることはできません) |
プロパティを含むカスタム イベント | Yes | [MSACAnalytics trackEvent:withProperties:] |
実行時にサービスを無効にする | [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES |
[MSACAnalytics setEnabled:NO] |
Crashes
HockeySDK では、既定でクラッシュ レポートが有効になります。 クラッシュは、次回アプリを起動するとすぐにサーバーに送信されます。
メソッドにクラスを渡 Crashes
す場合にのみ、App Center SDK によって Crashes サービスが登録されます start
。
機能 | 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 Distribute サービスを使用して配布されるビルドでのみ機能します。 デバッガーがアタッチされている場合、分散は機能しません。 アプリがプライベート配布グループを使用している場合、App Center Distribute SDK の追加後にアプリを初めてインストールして開くと、ブラウザーが開いてユーザーを認証し、アプリ内更新を有効にします。 実行時にプライベートアプリ内更新トラックを設定すると、このブラウザーも開きます。 これは、アプリの後続のリリースでは発生しない 1 回限りの手順です。 詳細については、 App Center の配布に関するドキュメント を参照してください。
HockeySDK では、既定ではアプリ内更新は有効になりません。
App Center SDK では、 メソッドにクラスを渡 Distribute
す場合にのみ、アプリ内更新サービスが start
登録されます。 このモジュールは、HockeySDK とは異なり、既定で有効になっています。
機能 | HockeyApp | App Center |
---|---|---|
制限付きアプリ内更新プログラム | [[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation] |
MSACDistribute.updateTrack |
実行時にサービスを無効にする | [[BITHockeyManager sharedHockeyManager] setDisableUpdateManager: YES] |
[MSACDistribute setEnabled:NO] |
更新ダイアログをカスタマイズする | shouldDisplayUpdateAlertForUpdateManager | ドキュメント |