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 を手動で追加した場合は、次の手順に従います。

  1. XCode プロジェクトから参照を削除します HockeySDK.embeddedframework 。 [ 参照の削除 ] ボタンをクリックし、[ ごみ箱に移動 ] ボタンをクリックしないでください。

  2. プロジェクト設定を開き、[ヘッダー検索パスフレームワークの検索パス / ] セクションの [ビルド設定] タブで、HockeySDK に関連するヘッダー ファイルの場所を削除します。

  3. プロジェクト設定を開き、[バイナリとライブラリのリンク] セクションの [ビルド フェーズ] タブで、HockeySDK に関連する依存関係エントリを削除します。

  4. ファイル システムから削除します HockeySDK.embeddedframework

Podfile

CocoaPods を使用して SDK を追加した場合は、Podfile から行をpod "HockeySDK"削除し、 を実行pod installします。

Carthage

  1. から HockeySDK 参照を削除します Cartfile。 ファイル システムから削除します Cartfile.Resolved

  2. XCode プロジェクトから と HockeySDK.framework.dSYM を削除HockeySDK.frameworkし、[ごみ箱に移動] ボタンをクリックします。

  3. [ ビルド フェーズ ] タブを開き、[ スクリプトの実行 ] セクションを見つけます。 と 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 の初期化を置き換える

  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 を変更する

    [配布] を使用する場合は、上記の手順に従います。

    • Info.plist ファイルに または URL typesCFBundleURLTypes の新しいキーを追加します (XCode で Info.plist がソース コードとして表示される場合)。
    • 最初の子項目のキーを または CFBundleURLSchemesURL Schemes変更します。
    • URL スキームとして を入力 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 では、既定でメトリックを収集できます。 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 ドキュメント