iOSプライバシーマニフェストがない場合は?2026年のArchive調査
ITMS-91061などの通知を受け取ったiOS開発者向けに、アプリ本体と第三者SDKのどちらに問題があるかを切り分けます。通知パスの確認から、マニフェストの修正、Archive内の検査、提出状態の確認までを順に整理します。
目次
Appleが指定するプライバシーマニフェストのファイル名は PrivacyInfo.xcprivacy です。今週は、通知のコードとファイルパスで問題の種類と責任コンポーネントを切り分け、修正後に提出するArchive内のファイルを確認してください。SDKのプライバシー情報を、根拠なくアプリ本体のマニフェストへ転記するのは避けます。
この手順は、ITMS-91061などの通知を受けた独立開発者や、依存SDKを管理する小規模チーム向けです。
リモートMacやCIでArchiveを検収する担当者も、ソースではなく提出物を確認する流れを整える際に役立ちます。
通知コードとパスで故障の種類を分ける
通知に含まれるコード、文面、コンポーネント名、ファイルパスを一組の証拠として扱います。ITMS-91061などの通知でSDKが示されている場合は、そのSDKがArchiveに実際に含まれているかを先に確かめ、アプリ本体の清書不足と決めつけないでください。Appleは第三者SDKに関するプライバシーマニフェスト要件を公開しています。
また、通知が示すものが「ファイルの欠落」なのか「存在するファイルの形式・内容の問題」なのかを分けます。アップロード時の警告や検証結果は、App Reviewの承認を意味しません。Appleのビルドアップロード状態の説明とアプリおよび提出物の状態を参照し、どの段階の結果なのかも確認します。
アプリとSDKの責任範囲
マニフェストは、ソースツリーにファイルが置かれているだけでは提出物に含まれたと判断できません。アプリのターゲットに追加され、ビルド対象になり、最終的にアプリのバンドルへ格納されているかを順に確認します。Appleのアプリまたは第三者SDKへマニフェストを追加する説明で、対象ごとの配置を照合してください。
第三者SDKの問題では、通知のパスから実際のFramework、XCFramework、依存パッケージへたどります。CocoaPodsやSwift Packageなどの管理方法だけで判断せず、Archiveに入っているSDK名とバージョンを特定することが重要です。SDK自身のマニフェストが必要なら、提供元に対応状況を確認し、適切な版への更新を検討します。
SDKのデータ収集やAPI利用の説明を、アプリのマニフェストへ移してもSDK側の不足を解消したことにはなりません。アプリとSDKは別々の責任範囲として確認してください。
選択肢ごとの切り分け判断
次の比較では、◎をその問題に対する優先対応、○を追加確認、△を単独では不十分な対応として示します。評価はAppleの要件に沿った調査上の優先度であり、Appleによる製品評価ではありません。
| 状況 | 通知・成果物で見る点 | 優先する対応 | 評価 |
|---|---|---|---|
| アプリ本体のマニフェスト不足 | アプリのターゲット設定とアプリバンドル内のファイル | 対象ターゲットと出力先を確認し、Archiveを作り直す | ◎ |
| 第三者SDKのマニフェスト不足 | 通知のパス、SDK名、実際に埋め込まれた版 | 提供元の対応版を確認し、依存関係を更新する | ◎ |
| マニフェストの形式・値が無効 | ファイルは存在するが、plist構造や値に問題がある | Appleの技術資料で構文・型・許容値を照合する | ◎ |
| ソースにはあるがArchiveにない | ターゲットへの登録、コピー処理、出力先 | 提出対象のArchiveを直接検査する | ◎ |
修正から再提出までの検査手順
- App Store Connectの通知から、コード、文面、SDK名、ファイルパスを控えます。通知のパスは依存先を追跡する手掛かりとして使い、表示された名前だけで修正対象を決めないでください。
- 該当するArchiveを特定し、アプリ本体と埋め込みSDKのどちらに該当ファイルがあるか確認します。別のビルドを調べていた場合は、提出した成果物そのものを開き直します。
- アプリ本体の問題なら、Xcodeの対象ターゲットに
PrivacyInfo.xcprivacyが含まれているかを確認します。プロジェクトナビゲーターに見えることと、ターゲットに含まれてビルドされることは別の状態です。 - SDKの問題なら、依存管理ファイルと解決済みの依存関係を照らし、Archiveに埋め込まれたFrameworkやXCFrameworkの名前・版を確認します。提供元に有効なマニフェストがあるか問い合わせ、確認した版へ更新します。
- ファイルが存在しているのに無効と判定された場合は、AppleのTN3181「無効なプライバシーマニフェストのデバッグ」に沿って、plist形式、キーの型、必須項目、値を個別に確認します。
- Required Reason APIを申告する必要がある場合は、用途を推測して埋めず、AppleのRequired Reason APIの説明で該当APIと認められた理由を確認します。
- 依存関係やビルド入力を修正した後、Archiveを作り直します。最終成果物のアプリバンドルと対象SDKのバンドルをそれぞれ開き、ファイルの存在と配置を通知のパスに照らして確認してから、App Store Connectで再検証します。
Archive検査で残す証拠
macOSのターミナルでは、Archiveを展開して確認した対象フォルダに対し、次のような検索ができます。
find "確認対象のフォルダ" -name PrivacyInfo.xcprivacy -print
出力された場所を、アプリ本体か埋め込みSDKかに分類します。アプリのバンドル内にあるか、通知に記載されたSDKのバンドル内にあるかを確認し、Archiveの保存場所と依存関係の版も一緒に記録してください。
ソースを直した後も通知が続く場合は、古い依存関係が解決されていないか、ビルドが修正前の入力を使っていないか、提出時に別のArchiveを選んでいないかを確認します。App Store Connect上の検証結果が通っても、それは提出工程の状態であり、審査承認とは別です。
よくある質問
本文の手順に加え、通知の読み違いや、ファイルを直した後の確認範囲を整理します。判断に迷ったときは、通知文面と実際のArchiveを照合し、Appleの公式要件に立ち戻ってください。
ITMS-91061の通知では、どの手掛かりを優先しますか?
まず通知の詳細にあるコードとパスを照合し、名前が示すSDKが実際のArchiveに含まれているか確認します。SDK名だけで最新の依存先と判断せず、解決済みの版と提出物を見比べてください。AppleのSDK要件に該当する場合は、提供元の対応状況を確認します。
SDKのマニフェスト不足をアプリ側だけで直せますか?
SDK自身の情報が必要なケースでは、アプリ本体のマニフェストへSDKの利用内容を追記して代用することはできません。SDKの提供元に有効なファイルを含む版があるか確認し、依存関係を更新して再ビルドします。必要な情報が不明なら、独自に用途や理由を作らず、提供元へ確認してください。
ファイルが見つかったのに無効と通知される場合は?
ファイルの存在確認だけで終えず、plistとして読み取れる構造か、キーの型や値がAppleの仕様に合うかを確認します。構文上の問題と、必須項目や許容値に関する問題は別々に調べてください。TN3181の説明に該当する条件があるかを照合し、推測による追記は避けます。
再アップロードの検証に通れば、審査も承認されたと考えてよいですか?
いいえ。アップロード時の検証結果と、審査の状態は別の段階です。App Store Connectで表示される状態をそれぞれ確認し、ビルドのアップロード確認を審査承認と読み替えないでください。修正内容と検査したArchiveの場所を記録しておくと、再通知があったときに対象を追いやすくなります。
再現環境を選ぶときの判断
ローカルMacでの再現は、既存のXcode環境を使える一方、ディスク容量や依存関係の状態が別プロジェクトの作業と競合することがあります。また、担当者の環境だけで再現確認を続けると、検査したArchiveと実際の提出物を取り違えた際に追跡しにくくなります。反対に、安定した高頻度ビルドを長期運用するなら、専用のMacを自分で管理する選択肢も比較対象です。
問題を再現するために一時的なMac環境が必要で、ローカル機の購入や保守を増やしたくない場合は、VPSMACのMac環境を確認し、手元のプロジェクトで必要なXcode作業を行えるか判断できます。利用可能な環境の概要はMacノードの案内で確認できます。SDKの不備そのものは環境を変えても直らないため、まず通知パスと依存SDKを特定し、必要な場合に限って遠隔MacでArchiveの再現と提出前検査を行ってください。
よくある質問
ITMS-91061の通知を受け取ったら、最初に何を確認すればよいですか?
まず通知本文のコードと、記載されているSDK名やファイルパスを控え、対象のArchiveに同じコンポーネントが含まれているかを確認します。コードだけでアプリ本体の欠落と決めつけず、Appleの第三者SDK要件と照合して責任範囲を特定してください。
利用中の第三者SDKにPrivacyInfo.xcprivacyが見当たらない場合はどうしますか?
該当SDKの配布元とバージョンを特定し、提供元の修正版や対応方針を確認してください。SDK固有のマニフェストが必要な場合、アプリ本体のマニフェストにSDKの情報を転記して代用するのではなく、対応済みのSDKへ更新するか、提供元に確認するのが基本です。
PrivacyInfo.xcprivacyがArchiveに入ったことは、どこで確認できますか?
Xcodeのプロジェクト画面にファイルが見えるだけでは不十分です。実際に提出するArchiveを開き、アプリのバンドル内と対象SDKのバンドル内をそれぞれ検索して、ファイルの存在と配置を確認します。検査したArchiveのパスも記録し、アップロード対象と取り違えないようにします。
マニフェストの欠落と形式エラーは、同じ方法で直せますか?
同じではありません。欠落なら、対象のアプリまたはSDKの正しいバンドルにファイルが含まれているかを確認します。形式エラーなら、plistとしての構文、キーの型、必須項目や許容値をAppleの技術資料に沿って調べます。原因を分けずに値を追加すると、別の不備を作るおそれがあります。