tvOS SDK のトラブルシューティング

重要

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

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

セットアップ中の問題

  1. コンソールで、"App Center SDK が正常に構成されました" というメッセージが表示された Assert ログを探します。 これにより、SDK が正常に構成されていることを確認します。
  2. Cocoapods を使用して tvOS アプリに App Center を統合し、 というメッセージでエラーが発生した場合はCocoaPods - Unable to find a specification for AppCenter、 を実行pod repo updateしてローカル Cocoapods リポジトリを更新し、もう一度実行pod installします。
  3. SDK バイナリを手動で統合する場合は、プロジェクトでモジュールが有効になっていることを確認します。

分析データはポータルに表示されません。

  1. SDK モジュールが正しく統合されていることを確認します。

  2. メソッド呼び出しと共に正しいアプリ シークレットが含まれていることを start:withServices: 確認します。 正確なstart:withServices:コードをコピーするには、ポータルでアプリを開き、はじめに ページに移動します。

  3. バックエンドに送信されたログを表示する場合は、アプリケーションでログ レベルを Verbose に変更すると、SDK によって コンソールにログが出力されます。 SDK の開始前に、次の呼び出しを挿入します。

    [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
    
    AppCenter.logLevel = .verbose
    

    ログに [App Center SDK が正常に構成されました] が (INFO ログ レベルで) 表示されていることを確認し、HTTPS 要求ログが表示された場合はチェックします。

  4. デバイスがオンラインで、アプリがインターネットにアクセスできることを確認します。

  5. ログがポータルに表示されるまでに数分かかる場合があります。 その場合はしばらく待ちます。

  6. App Center バックエンドがデータを受信したかどうかをチェックするには、Analytics サービスの [ログ フロー] セクションに移動します。 送信されると、イベントが表示されます。

クラッシュはポータルに表示されません。

  1. SDK モジュールが正しく統合されていることを確認します。

  2. メソッド呼び出しと共に正しいアプリ シークレットが含まれていることを start:withServices: 確認します。 正確なstart:withServices:コードをコピーするには、ポータルでアプリを開き、はじめに ページに移動します。

  3. クラッシュ後にアプリを再起動します。 App Center のクラッシュ は、アプリの再起動後にのみクラッシュ ログを転送します。 また、デバッガーにアタッチされている場合、SDK はクラッシュ ログを転送しません。 アプリをクラッシュさせたときにデバッガーがアタッチされていないことを確認します。

  4. バックエンドに送信されたログを表示する場合は、アプリケーションでログ レベルを Verbose に変更すると、SDK によって コンソールにログが出力されます。 SDK の開始前に次の呼び出しを挿入します。

    [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
    
    AppCenter.logLevel = .verbose
    

    ログに [App Center SDK が正常に構成されました] が (INFO ログ レベルで) 表示されていることを確認し、HTTPS 要求ログが表示された場合はチェックします。

  5. クラッシュ レポート機能を提供する他のライブラリは使用しないでください。 アプリに統合できるクラッシュ レポート SDK は 1 つだけです。

  6. デバイスがオンラインで、アプリがインターネットにアクセスできることを確認します。

  7. 場合によっては、ログがポータルに表示されるまで数分かかる場合があります。 その場合はしばらく待ちます。

  8. SDK が次のアプリの起動時にクラッシュを検出した場合にチェックする場合は、API を呼び出して、アプリが最後のセッションでクラッシュしたかどうかをチェックし、アラートを表示できます。 または、クラッシュ didSucceedSendingErrorReport コールバックを拡張して、サーバーに正常に送信されたかどうかを確認することもできます。

  9. App Center バックエンドがクラッシュを受け取ったかどうかをチェックするには、Analytics サービスの [ログ フロー] セクションに移動します。 送信されると、クラッシュが表示されます。

App Center シークレット値を保護する

app_secretはアプリの識別子であり、トラフィックがどのアプリに適用されるかを知る必要があり、既存のデータを取得または編集するために使用することはできません。 app_secretが公開されている場合、最も大きなリスクは不適切なデータをアプリに送信することですが、データのセキュリティには影響しません。

機密データを取得するには、クライアント側で生成されるアプリ/ユーザー トークンを指定する必要があります。 クライアント側のデータを完全にセキュリティで保護する方法はありません。

環境変数を使用してアプリ シークレットをコードに挿入することで、アプリのセキュリティを向上させることができます。 そうすることで、シークレットはコードに表示されません。