メモ > 技術 > IDE: Xcode > プライバシーの設定
プライバシーの設定
※2024年4月時点で調査中の内容
■概要
以下に概要が記載されている
【Xcode/iOS】Privacy Manifestsに対応する方法!PrivacyInfo.xcprivacyとは
https://appdev-room.com/swift-manifest
3月13日から始まったプライバシーマニフェスト未対応の警告メールを受け取った | DevelopersIO
https://dev.classmethod.jp/articles/received-email-warning-privacy-manifest/
2024年春以降、Privacy Manifests未対応のiOSアプリはリジェクトされてしまう | DevelopersIO
https://dev.classmethod.jp/articles/support-privacy-manifests-for-ios-app/
2024年5月1日から、Privacy Manifests未対応のiOSアプリはリジェクトされるとのこと
例えば「UserDefaultsを使った設定の永続化」や「Firebase Analyticsなどによるアプリ統計情報の取得」を行なっているアプリが対象となる
恐らく、ゆくゆくはこの宣言を使用して「アプリのプライバシーポリシーを自動で表示する」などが行なわれるのだと思われる
アップロード時の審査なので、個人アプリなどリリース時期の調整がきくものなら、5月1日以降に情報が出てきてから対応するのが良さそう
以下なども参考になりそう
「ITMS-91053: Missing API declaration」アプリのプライバシーレポートでのAPI使用宣言(iOSアプリを審査に提出したら)
https://mszpro.com/blog/itms-91053-ja/
2024年5月以降、iOSアプリで利用するプライバシー情報の定義が必須に
https://zenn.dev/omatsu/articles/6f2e63976141987108d6
iOSアプリを審査に提出したら「ITMS-91053: Missing API declaration」というメールが来た。Privacy Manifest対応についてのメモ。
https://zenn.dev/matsuchiyo/scraps/8c742b06f626bb
■想定手順
具体的には、以下のような対応を行う
1. Xcodeで PrivacyInfo.xcprivacy ファイルを作成する
「File → New → File...」でファイル作成ダイアログを開き、「iOS → Resource → App Provacy」を選択して「Next」をクリック
ファイル名はそのままでいい。「Targets」はチェックが外れているのでチェックして「Create」をクリック
プロジェクト直下に「PrivacyInfo.xcprivacy」が作成される
2. Xcodeで PrivacyInfo.xcprivacy ファイルを編集する
「PrivacyInfo.xcprivacy」を開く。ルートに「App Privacy Configuration」のみが作られていることを確認できる
「+」をクリックして「Privacy Accessed API Types」を追加する
またその中で、「Privacy Accessed API Type」に「User Defaults」を、「Privacy Accessed API Reasons」に「User Defaults - CA92.1」を、それぞれ選択する
ただし実際には、「Type」が「Array」の配下には「Item 0」を配置するなどの操作があるので注意。以下ページの「対応方法」のスクリーンショットを参考に設定するのが解りやすいか
https://zenn.dev/omatsu/articles/6f2e63976141987108d6
3. Xcodeでアーカイブを行い、問題無いかプライバシーレポートで確認する
以下ページの内容も、設定確認の参考になるか
https://appdev-room.com/swift-manifest
以降は通常どおり、TestFlightやAppStoreへの掲載を進める
設定内容に問題が無ければ、警告メールが送られてこなくなる
…はず
※「Privacy Accessed API Reasons」の選択肢に「User Defaults - CA92.1」などが表示されない場合、Xcodeを最新版にアップデートしてから試す
アップデート前でも、「35F9.1」など他の選択肢は表示されていた
■メモ
・「Privacy Accessed API Types」だけでなく「Privacy Nutrition Label Types」も追加が必要か
・サードパーティ製ライブラリを使用している場合、ライブラリ自体のアップデートも必要らしい
・本当に対応できているかどうかは、App Store Connectにアップロードしてみないと判らないらしい