2024年5月以降、iOSアプリで利用するプライバシー情報の定義が必須に
審査中のiOSアプリについて、appleからプライバシー情報に関する対応を求めるメールが届きました。
2024/5/1以降、対応していないアプリは申請が通らないとのこと。
抜粋
ITMS-91053: Missing API declaration - Your app’s code in the “Runner” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryUserDefaults. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.
対応方法
メールのリンクにあるapple公式情報によると、デバイスやユーザーを特定しうるAPIを利用する場合は、その理由を明確に宣言する必要があるようです。
具体的には、
- 新たに
ios/Runner/PrivacyInfo.xcprivacy
を作成(パスはFlutterプロジェクトの場合です)- Xcodeで作成する場合は、
new file
でApp Privacy
を選択
- Xcodeで作成する場合は、
- 必要な情報(使用するAPIとその理由)を記述
- 今回のメールの内容だと、
NSPrivacyAccessedAPICategoryUserDefaults
について書けばいいはず - 理由は用意されている選択肢から該当するものを宣言する
- 選択肢についてはappleの公式情報を参照
- 今回はアプリ内でのみ利用する機能だったので、
CA92.1
を選択
- Xcode上で編集すればマウス操作で選択肢を選べるので、フォーマット上の間違いは起きないはず
- 今回のメールの内容だと、
気になったこと
- 3rd Party製SDKの対応も必要らしい
- つまり、該当するパッケージのバージョンを最新に上げる必要があり、芋蔓式に色々対応が必要になりそう、、
- 要件をクリアしたかどうかは、申請に出してみないと分からない
- 要件を満たしていない場合には、再度appleがメールで通知してくれるようです
上記の対応方法で、appleの要求を満たせるか未だ分からないのですが、結果がでたらまた情報更新します。
誤った情報などあれば、ご指摘いただけると幸いです。
追記(2024/04/02)
私個人の開発中のアプリでは、上記の対応で解決でした。(appleからの警告メールが来なくなりました。)
参考情報
Discussion