次の方法で共有


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

重要

Visual Studio App Center は、2026 年 6 月 30 日まで引き続きサポートされる分析機能と診断機能を除き、2025 年 3 月 31 日に廃止されました。 詳細を参照してください。

セットアップ中の問題

  1. コンソールで、"App Center SDK が正常に構成されました" というメッセージが表示された Assert ログを探します。 これにより、SDK が正常に構成されていることが確認されます。
  2. Cocoapods を使用して MacOS アプリに 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. デバイスがオンラインで、アプリがインターネットにアクセスできることを確認します。

    アプリがアプリ サンドボックスを使用している場合は、アプリがインターネットにアクセスできるように、受信 (サーバー) 接続と送信 (クライアント) 接続を許可する機能を設定する必要があります。 Xcode 9 では既定でアプリ サンドボックスが有効になりますが、着信接続と送信接続の機能を明示的に設定する必要があります。

    プロジェクト ナビゲーターでプロジェクトを選択し、[ 機能 ] タブを選択し、アプリがサンドボックスを使用している場合は、受信接続と送信接続の機能を追加します。

  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. デバイスがオンラインで、アプリがインターネットにアクセスできることを確認します。

    アプリがアプリ サンドボックスを使用している場合は、アプリがインターネットにアクセスできるように、受信 (サーバー) 接続と送信 (クライアント) 接続を許可する機能を設定する必要があります。 Xcode 9 では既定でアプリ サンドボックスが有効になりますが、着信接続と送信接続の機能を明示的に設定する必要があります。

    プロジェクト ナビゲーターでプロジェクトを選択し、[ 機能 ] タブを選択し、アプリがサンドボックスを使用している場合は、受信接続と送信接続を有効にします。

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

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

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

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

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

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

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