🚧

2024年5月以降、iOSアプリで利用するプライバシー情報の定義が必須に

2024/03/22に公開

審査中の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 fileApp Privacyを選択
  • 必要な情報(使用するAPIとその理由)を記述
    • 今回のメールの内容だと、NSPrivacyAccessedAPICategoryUserDefaults について書けばいいはず
    • 理由は用意されている選択肢から該当するものを宣言する
      • 選択肢についてはappleの公式情報を参照
      • 今回はアプリ内でのみ利用する機能だったので、CA92.1を選択
    • Xcode上で編集すればマウス操作で選択肢を選べるので、フォーマット上の間違いは起きないはず

気になったこと

  • 3rd Party製SDKの対応も必要らしい
    • つまり、該当するパッケージのバージョンを最新に上げる必要があり、芋蔓式に色々対応が必要になりそう、、
  • 要件をクリアしたかどうかは、申請に出してみないと分からない
    • 要件を満たしていない場合には、再度appleがメールで通知してくれるようです

上記の対応方法で、appleの要求を満たせるか未だ分からないのですが、結果がでたらまた情報更新します。
誤った情報などあれば、ご指摘いただけると幸いです。

追記(2024/04/02)

私個人の開発中のアプリでは、上記の対応で解決でした。(appleからの警告メールが来なくなりました。)

参考情報

https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api
https://github.com/FlutterFlow/flutterflow-issues/issues/2527

Discussion