Tomo.Log()


Privacy Manifest(PrivacyInfo.xcprivacy)に対応した話

[04/15, 2024]

こんにちは、トモです。

2024年5月1日から、iOSのアプリなどを審査に出す際に、Privacy Manifestに対応していないと審査が通らない旨の警告メールが届くようになりました。

必要なもの

  • PrivacyInfo.xcprivacy(アプリ側)
  • PrivacyInfo.xcprivacy(サードパーティライブラリ側)

必要なものは上記2点で、PrivacyInfo.xcprivacyは自身のアプリ側と、使用しているサードパーティのライブラリ側にも別なファイルとして宣言されている必要があります。

PrivacyInfo.xcprivacyの追加の仕方

Xcode上で

New file > App Privacy > 作成

という流れになります。

注意点!

このファイル作成時に、「Targets」が指定されていない場合は必ずチェックを入れましょう。 自分はこのチェックボックスに気づかずに、ちゃんとかけているはずなのに警告メールが届き続け、無駄に悩む時間ができてしまいました😭

PrivacyInfo.xcprivacyの書き方

Xcode上でplist形式のエディタでぽちぽちやる形かXMLを直接編集します。

<key>NSPrivacyAccessedAPITypes</key>
	<array>
		<dict>
			<key>NSPrivacyAccessedAPITypeReasons</key>
			<array>
				<string>CA92.1</string>
			</array>
			<key>NSPrivacyAccessedAPIType</key>
			<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
		</dict>
	</array>

UserDefaultの場合こんな感じになると思います。自分がハマってしまったのは、最初plist形式で編集していたのですが、reasonの宣言に気づけず、reasonを記載しないままsubmitしていて警告が消えないといいうことがありました。

サードパーティのラブラリの確認

Appleから名指しされている大手のラブラリ(主に広告系など?)は大体対応が済んでいると思われます。

Appleの名指し一覧

しかし、大手でない場合は、各ライブラリが対応するのを待つか、一旦フォークして自分でファイルを追加するかの対応が必要そうだ。

自分はほぼ外部ライブラリを使用していないので、この辺の心配や手間が少なかったのは不幸中の幸いでしたね。

Appleの警告メールはもう少し情報くれてもいいのに

先の「Targets」忘れの場合、そもそもバイナリにファイルが含まれていないので、「PrivacyInfo.xcprivacy」自体が含まれてないよ、やreasonのエレメントがないよ、などもう少し情報を出してくれてもいいような気がしました。

Appleのプライバシー重視の戦略と路線変更は、そもそも広告ビジネスに対抗するために、iAdを捨て、広告を悪者扱いするために始まりましたが、Siriへの音声指示を収集しないと言いつつ実はこっそり収集していた前科もあり所詮偽善でありただの戦略なのです。
EUもAppleに乗っかってかGDRPをやり始めました。ざっくり言えばGoogleやFacebookから罰金取れそうだということで始めたんだと思います。しかしどちらかというとGDPRに対応しきれない小さな広告系の会社は排除され参入障壁になり、Googleなどの大手は逆に少し安泰になっているような気がしますし、この対応によってEUに住む人々、個人個人がどれくらいハッピーになったかは疑問が残ります。

少しでも人類の無駄な時間が減りますように🙏