はじめに
本記事は、Apple Storeに公開済みのFlutterアプリにおいて、Privacy Manifests対応を実施し、審査通過した記録記事となります。
Privacy Manifests とは
プライバシーマニフェストは、アプリやSDKがどんなデータを収集して、どういう理由で使うのかを明記したプロパティリスト、だと私は解釈しています。
詳細は割愛しますが、以下の「サードパーティ SDK 要件」
および「プライバシー マニフェスト ファイル」をご確認ください。
前提
2024年3月に審査提出した際、以下の警告メール(ITMS-91053: Missing API declaration)を受け取っていました。
受け取ったメールによれば、対象APIは以下の4つでした。
・NSPrivacyAccessedAPICategoryFileTimestamp
・NSPrivacyAccessedAPICategoryDiskSpace
・NSPrivacyAccessedAPICategorySystemBootTime
・NSPrivacyAccessedAPICategoryUserDefaults
対応 その1
Flutter本体およびパッケージを最新化
アプリを初期リリースしてから、半年以上バージョンは変更しておりませんでした。
採用している対象パッケージがプライバシーマニフェストに対応しているかを確認した上で、以下のように最新化しました。
・Flutter : 3.13.1 → 3.19.5
・path_provider : 2.1.1 → 2.1.3
・sqflite : 2.2.6 → 2.3.3
・url_launcher : 6.1.4 → 6.2.6
・package_info_plus : 4.1.0 → 7.0.0
対応 その2
Xcodeで PrivacyInfo.xcprivacy を作成し、理由を設定
警告メールによれば、4つのAPIについて理由が必要とのことで、
アプリの要件に基づき、以下のように設定しました。
理由(Privacy Accessed API Reasons)は、アプリ要件によって変わる部分ですので、
以下を参照し、適切な理由を選択しましょう。
結果
審査提出後、警告メールを受け取ることなく、無事審査通過できました。
(執筆時点では、まだ2024年5月になっていないのため審査通過は当然ですが、警告メールを排除できたことが大きい)