HockeySDK から MacOS 用 App Center SDK に移行する

重要

Visual Studio App Center は、2025 年 3 月 31 日に廃止される予定です。 完全に廃止されるまで Visual Studio App Center を引き続き使用できますが、移行を検討できる推奨される代替手段がいくつかあります。

詳細については、サポートタイムラインと代替手段に関するページを参照してください。

HockeySDK ではなく App Center SDK を使用するようにアプリケーションを更新する場合は、このドキュメントに従ってください。

1. ライブラリを更新する

1.1 古い HockeySDK を削除する

手動

SDK を手動で追加した場合は、次の手順に従います。

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

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

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

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

Podfile

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

Carthage

Carthage を使用して SDK を追加した場合は、次の手順に従います。

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

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

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) 形式のアプリケーション識別子が使用されます。 HockeyApp App 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 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 App Center
ログ レベルを調整する [BITHockeyManager sharedHockeyManager].logLevel = BITLogLevelVerbose [MSACAppCenter setLogLevel:MSACLogLevelVerbose]

分析

HockeySDK は、既定でメトリックを収集します。 App Center SDK では、既定で (分析) メトリックは収集されません。 App Center SDK を使用してメトリックを収集するには、 メソッドにstart:を渡しますMSACAnalytics

機能 HockeyApp App Center
セッションを自動的に追跡する 既定で有効 ドキュメント (既定で有効)
プロパティを含むカスタム イベント Yes [MSACAnalytics trackEvent:withProperties:]
実行時にサービスを無効にする [BITHockeyManager sharedHockeyManager].disableMetricsManager = YES [MSACAnalytics setEnabled:NO]

Crashes

HockeySDK レポートは、既定でクラッシュします。 クラッシュは、次回アプリを起動するとすぐにサーバーに送信されます。 App Center SDK では、既定ではクラッシュは報告されません。 App Center SDK を使用してクラッシュを収集するには、 メソッドに をstart:渡しますMSACCrashes

機能 HockeyApp App Center
クラッシュを自動的に送信する [[BITHockeyManager sharedHockeyManager].crashManager setAutoSubmitCrashReport: YES] ドキュメント (既定で有効)
テスト クラッシュを生成する [[BITHockeyManager sharedHockeyManager].crashManager generateTestCrash] [MSACCrashes generateTestCrash]
前回のクラッシュに関する情報 [[BITHockeyManager sharedHockeyManager].crashManager lastSessionCrashDetails] [MSACCrashes lastSessionCrashReport]
Mach 例外処理 [[BITHockeyManager sharedHockeyManager].disableMachExceptionHandler = YES] ドキュメント (既定で有効)
追加のメタデータをアタッチする Yes ドキュメント (代理人から添付できます)
[ユーザーのカスタマイズ] ダイアログ setCrashReportUIHandler ドキュメント (既定では提供されていません)
実行時にサービスを無効にする [[BITHockeyManager sharedHockeyManager] setDisableCrashManager: YES] [MSACCrashes setEnabled:NO]