メインコンテンツへスキップ

iOSアプリ向けプライバシーマニフェスト

Capacitor iOSアプリにおけるPrivacyInfo.xcprivacyの2026年コンプライアンス対応とトラブルシューティングガイド:required reason APIs、ITMS-91053、ITMS-91061、およびサードパーティ製 SDK マニフェストについて。

iOSアプリ向けプライバシーマニフェスト

App Storeへのアップロードには、Appleのプライバシーマニフェストが必須です: すべてのアプリに以下が必要です: PrivacyInfo.xcprivacy アプリのデータ収集、トラッキングドメイン、および以下の内容を記述した 必須理由のAPI code の呼び出し。また、 Appleが指定するリスト 独自のmanifest(バイナリ配布時は署名も含む)を同梱する必要があります。本ガイドでは、 2026年のコンプライアンス対応とトラブルシューティングに焦点を当てます。 を Capacitor iOSアプリ:宣言すべき内容と修正方法 ITMS-91053 と ITMS-91061、および提出前の検証方法について解説します。

プライバシーmanifestの対象範囲

プライバシーmanifestは、アプリまたは SDK に同梱されるプロパティリストです。Xcodeはアーカイブ時にすべてのmanifestを集約し、単一のプライバシーレポートを作成します。

主要な 目的
NSPrivacyTracking アプリまたは SDK が、Apple が定義するトラッキングにデータを使用しているかどうか
NSPrivacyTrackingDomains トラッキングに関与するドメイン
NSPrivacyCollectedDataTypes 収集するデータの種類とその使用方法
NSPrivacyAccessedAPITypes Required Reason API のうち、 自社の code が承認済みの理由コードとともに使用するもの

Apple の概要: アプリまたはサードパーティの SDK にプライバシーマニフェストを追加する.

バイナリ内のすべての code(組み込みSDKを含む)については、開発者が責任を負います。マニフェストには 自社アプリの情報のみを記載してください。他の SDK のデータの取り扱いを自分のファイルに貼り付けないでください。

必須となる理由の API カテゴリ

以降 2024年5月1日、アプリがリストされた API を使用している際、承認された理由が記載されていないと App Store Connect はアップロードを拒否します。 NSPrivacyAccessedAPITypesApple は API と承認された理由を以下にまとめています: 必須となる理由の API の使用方法について.

Apple の TN3183に基づくと、 カテゴリ 値は以下の通りです:

NSPrivacyAccessedAPIType 値 ハイブリッドアプリにおける一般的なトリガー
NSPrivacyAccessedAPICategoryUserDefaults 設定、プラグインの状態、軽微な永続化データ
NSPrivacyAccessedAPICategoryFileTimestamp ファイルメタデータ、キャッシュ、update bundles
NSPrivacyAccessedAPICategoryDiskSpace ダウンロード前の空き容量チェック
NSPrivacyAccessedAPICategorySystemBootTime 経過時間、タイマー、または絶対タイムスタンプ
NSPrivacyAccessedAPICategoryActiveKeyboards キーボード拡張機能または入力検知

使用する各カテゴリについて、以下の内容を含む辞書を1つ追加してください: NSPrivacyAccessedAPIType と NSPrivacyAccessedAPITypeReasons. 選択してください: そのカテゴリに対して Appleがリストしているreason codesのみ。コードが間違っていると審査落ちの原因になります。

コードの断片(プライバシーレポートを確認後、アプリに合わせてカテゴリとコードを調整してください):

<key>NSPrivacyAccessedAPITypes</key>
<array>
  <dict>
    <key>NSPrivacyAccessedAPIType</key>
    <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
    <key>NSPrivacyAccessedAPITypeReasons</key>
    <array>
      <string>CA92.1</string>
    </array>
  </dict>
</array>

Capacitor 自体も Apple の サードパーティ製 SDK の要件 リストに含まれているため、このフレームワークには Capacitor 自身の API 使用に関するマニフェストが同梱されています。ただし、アプリレベルのマニフェストは別途必要です: あなたの Native および JavaScript レイヤー、プラグイン、依存関係でカバーされていない API に対して必要です。

ITMS-91053: API の宣言が不足しています

ITMS-91053 は、App Store Connect がビルド内で必須理由 API を検出したものの、マージ後のプライバシーマニフェストに対応するエントリがなかったことを意味します。

解決方法:

  1. リジェクトメールまたはアップロードログを確認してください。そこに API の カテゴリ (例: NSPrivacyAccessedAPICategoryDiskSpace).
  2. Xcodeでアーカイブのプライバシーレポートを開き(製品 &gt; アーカイブ、次に Privacy Reportを生成 )、その差異がアプリのターゲットにあるのか、依存関係にあるのかを確認します。
  3. もし API が あなたの code または自身で所有するプラグインにある場合は、カテゴリと承認済みの理由を追加してください。 ios/App/PrivacyInfo.xcprivacy.
  4. もし API が 依存関係から発生している場合は、manifestを含むバージョンにpodやSPMパッケージをアップグレードするか、プラグインをパッチしてフォーク版が実際に呼び出しているものだけを宣言してください。
  5. 再度アーカイブを行い、再度アップロードする前にレポートにカテゴリが表示されていることを確認してください。

使用していないカテゴリは宣言しないでください。Appleの静的解析はバイナリ内のシンボルと紐付いています。

ITMS-91061: サードパーティのプライバシーマニフェストが不足しています

ITMS-91061 は、 プライバシーに影響を与える SDK が アプリのバンドル内に PrivacyInfo.xcprivacy含まれていないことを意味します。Appleによると、新しいアプリや、 以下の リストされた SDK を追加するアップデートを配信する場合、SDK にはマニフェストを含める必要があります。また、バイナリSDKには SDK ベンダーによる有効な 署名 SDK ベンダー提供

解決方法:

  1. メールからフレームワークのパスをコピーしてください(例: Frameworks/FirebaseCore.framework/FirebaseCore).
  2. CocoaPods、SPM、またはvendored binaryパッケージを特定します。
  3. 〜を同梱したベンダーリリースにアップグレードしてください PrivacyInfo.xcprivacy フレームワークのルートにあります。
  4. ファイルをクリーン、再ビルドし、内容を確認してください: .xcarchive uploadする前に。

しないでください SDKのコレクションやAPIの宣言をアプリのmanifestに移動しないでください。Appleは、アプリのmanifestにはアプリ自体の説明のみを記載すべきであると明示的に警告しています。もしSDKがメンテナンスされていない場合は、別のものに置き換えるか、準拠したビルドをvendorしてください。

リストされているSDKには、一般的なモバイルスタック(Firebase、Flutter、 Capacitor, shared_preferences_iosその他)が含まれます。リリース前に必ずAppleのサイトで最新のリストを確認してください。

サードパーティの SDK マニフェストと署名

依存関係を更新すると、Xcodeはバイナリフレームワークが以前のリリースと同じ開発者によって署名されているかを確認します。これにより、マニフェストが変更された際のサプライチェーンが保護されます。

実践的なワークフロー:

  • 完了後、 pod install SPMを解決するには、検索してください ios/ を PrivacyInfo.xcprivacy ファイル。
  • アーカイブして使用 プライバシーレポートを生成 全体像を把握するために。
  • レポートの内容とApp Storeのプライバシーに関する質問への回答を比較してください。

live update のツールを使用する場合、アップデーターが実際に使用する「理由が必要なAPI」(例:ディスク容量、ファイルタイムスタンプ、UserDefaultsなど)を宣言してください。ネットワークアクセスは、理由が必要な API カテゴリには含まれません。アップデーターが個人データを収集する場合は、App Storeのプライバシーラベルや質問への回答でそのデータを開示してください。HTTPS経由でアップデートを取得するだけでは、新しい開示カテゴリには該当しません。引き続き、 Capgo live update コンプライアンスを維持しましょう OTAの挙動をドキュメント化する際に考慮すべき点です。

追加 PrivacyInfo.xcprivacy Capacitor iOSプロジェクトにおいて

  1. ネイティブプロジェクトを同期します: bunx cap sync ios.
  2. 以下のパスにあるXcodeワークスペースを開きます ios/App.
  3. ファイル > 新規 > ファイルを選択し、 Appのプライバシー (または空の PrivacyInfo.xcprivacy plistを追加します)。
  4. ファイルを以下の場所に保存します ios/App ( AppDelegate 問題ありません)。
  5. ターゲットの Build Phases > Copy Bundle Resourcesを確認し、 PrivacyInfo.xcprivacy が記載されています。
  6. アプリやプラグインの内容に基づき、トラッキング、収集データ、および必要な理由のAPIを入力します。
  7. Archiveを実行してプライバシーレポートを生成し、App Store Connectにアップロードする前に不足しているカテゴリを修正してください。

ディスク上のplistをXMLとして直接編集した場合は、ターゲットメンバーシップを正しく維持するためにXcodeを再起動してください。

各アプリまたは SDK ターゲットは、それぞれ独自の PrivacyInfo.xcprivacyを保持します。Archive時に、Xcodeはそれらのマニフェストを一つのプライバシーレポートに集約します。依存関係にあるplistをアプリファイルに手動でマージする必要はありません。

〜の場合、 カスタム Capacitor プラグイン 独自のiOSフレームワークとして提供されるため、追加 PrivacyInfo.xcprivacy そのプラグインの ios/Plugin/ フォルダ(または同等の場所)に配置し、プラグインターゲットの Bundleリソースをコピーだけでなく、アプリターゲットにも含める必要があります。

次の場合: NSPrivacyTracking 広告や分析SDKを埋め込んでいる場合は、マニフェストをApp Storeのプライバシーラベルと一致させ、iOSが要求する際にApp Tracking Transparencyのpromptを表示してください。 @capgo/capacitor-app-tracking-transparency は、Capacitor アプリのATTフローに対応しています。

提出前のバリデーションチェックリスト

  • アプリターゲットに含まれるもの: PrivacyInfo.xcprivacy における Bundle Resourcesをコピー.
  • 却下理由やレポートに含まれるすべての必須理由カテゴリに、承認済みの理由コードが含まれています。
  • ビルドに含まれる各サードパーティ製 SDK は、指定されたパスに独自のmanifestを持っています。
  • プライバシーレポートの内容が、分析、広告、および認証SDKに関する認識と一致しています。
  • App Storeのプライバシーラベルが、統合されたレポートと一致しています。

よくある質問

Capacitor プラグインにも独自のプライバシーマニフェストが必要ですか?

プラグインがリポジトリ内でソースとして配布されている場合、その API の使用はアプリのバイナリの一部となります。プラグインが呼び出すAPIを アプリの manifestで宣言するか、別個のframeworkとして提供されている場合はプラグインターゲット内にmanifestを追加してください。バイナリpodはAppleのサードパーティ製 SDK ルールに従う必要があります。

アプリの PrivacyInfo.xcprivacy を編集するだけで ITMS-91061 を修正できますか?

いいえ。SDK 側でmanifestを提供する必要があります。あなたのファイルには、アプリ自体の慣行のみを記載してください。

Apple のポリシー適用日はどこに記載されていますか?

必須理由APIの適用開始日: 2024年5月1日. リストされたSDKのサードパーティ製マニフェストおよび署名ルールについては、以下に記載されています。 サードパーティ製 SDK 要件.

iOS アプリのプライバシーマニフェストから次へ

使用している場合 iOSアプリ向けPrivacy Manifest セキュリティとコンプライアンスを計画するには、これを以下と連携させてください 暗号化 暗号化の実装詳細について コンプライアンス コンプライアンスの実装詳細について Capgo セキュリティスキャナー Capgo Security Scanner のプロダクトワークフローについて Capgo のセキュリティ Capgo Security のプロダクトワークフロー向け、および Capgo トラストセンター Capgo Trust Center のプロダクトワークフロー向け。

Capacitor アプリ向けの Live Updates

Web レイヤーのバグが本番で発生したら、App Store の審査を何日も待たずに Capgo で修正を配信しましょう。ネイティブの変更は通常の審査フローに残したまま、ユーザーはバックグラウンドでアップデートを受け取れます。

最新のブログ記事

Capgoは、真にプロフェッショナルなモバイルアプリを作るために必要な最高のインサイトを提供します。