サードパーティSDKのPrivacy Manifests対応状況を調査した

2024.01.11

私が開発中のアプリで利用しているライブラリのPrivacy Manifests対応が一通り完了したため本記事の更新は終了する。最終更新日は2024年4月27日時点となっている。

すべてのiOSアプリは2024年春までにPrivacy Manifests対応を実施する必要がある。Privacy Manifests対応とは、簡単に言えば「アプリ」と「サードパーティSDK(ライブラリ)」の両方に PrivacyInfo.xcprivacy を追加することである。

少し前に個人開発しているアプリでPrivacy Manifests対応をおこない、作業内容を以下の記事にまとめた。以下の記事はアプリ側に寄った内容である。

2024年に入り、ライブラリ側でもPrivacy Manifests対応が進み始めている。一通りの情報が出揃ったためだろう。よく使われているライブラリに関しては、Appleが名指しでリスト化している。AlamofireやFirebase関連のSDKは巨大なため、対応自体は進んでいるが完了までに時間がかかりそうな印象だ。

本記事では、サードパーティSDKのプライバシーマニフェスト対応状況について調査した結果を掲載している。

サードパーティSDKのPrivacy Manifests対応状況

2024年4月27日現在の、ライブラリのPrivacy Manifests対応状況をまとめた。

「Appleのリスト」列は、Appleに名指しされているライブラリかどうかを示す。現時点では、私はFlutterを含むクロスプラットフォームフレームワークを利用していないため、一部のライブラリについては「調査保留」とした。

ライブラリ名 Appleのリスト 最新バージョン PrivacyInfo 対応バージョン 議論 備考
AFNetworking o 4.0.1 無し🔥 #3809 通信。リポジトリはアーカイブ済み。公式はAlamofireへのアップデートを推奨
Alamofire o 5.9.1 5.9.0 🆗 #3761, #3792 通信
Abseil o - - - Firebase関連
AppAuth o 1.7.5 1.7.3 🆗 #807 Firebase関連
BoringSSL/openssl_grpc o - - - Firebase関連。OpenSSLのフォーク
Capacitor o 5.6.0 議論中 #7176 クロスプラットフォームフレームワークのため調査保留
Charts o 5.1.0 5.1.0 🆗 #5131 グラフ。最近 DGCharts に名前が変わった
connectivity_plus o 調査保留 - - Flutter用のライブラリのため調査保留
Cordova o 7.0.0 - #1391 クロスプラットフォームフレームワークのため調査保留
device_info_plus o 調査保留 - - Flutter用のライブラリのため調査保留
DKImagePickerController o 4.3.8 4.3.6 🆗 #718 画像ピッカー
DKPhotoGallery o 0.0.17 議論中 #42 リポジトリはメンテナンスされていない
file_picker o 調査保留     Flutter用のライブラリのため調査保留
FBAEMKit o 16.3.1 - #2264 Facebook関連
FBSDKCoreKit o 16.3.1 - #2264 Facebook関連
FBSDKCoreKit_Basics o - - - Facebook関連
FBSDKLoginKit o 16.3.1 - #2264 Facebook関連
FBSDKShareKit o 16.3.1 - #2264 Facebook関連
FirebaseABTesting o 10.25.0 10.22.0 🆗 #11490  
FirebaseAuth o 10.25.0 10.22.0 🆗 - Firebase関連
FirebaseCore o 10.25.0 10.22.0 🆗 - Firebase関連
FirebaseCoreDiagnostics o - - - Firebase関連
FirebaseCoreExtension o 10.25.0 10.22.0 🆗 - Firebase関連
FirebaseCoreInternal o 10.25.0 10.22.0 🆗 - Firebase関連
FirebaseCrashlytics o 10.25.0 10.22.0 🆗 #11490 Firebase関連
FirebaseDynamicLinks o 10.25.0 10.22.0 🆗 #11490 Firebase関連
FirebaseFirestore o 10.25.0 10.22.0 🆗 - Firebase関連
FirebaseInstallations o 10.25.0 10.22.0 🆗 - Firebase関連
FirebaseMessaging o 10.25.0 10.22.0 🆗 - Firebase関連
FirebaseRemoteConfig o 10.25.0 10.22.0 🆗 #11490 Firebase関連
Flutter o 調査保留 - - Flutter用のライブラリのため調査保留
flutter_inappwebview o 調査保留 - - Flutter用のライブラリのため調査保留
flutter_local_notifications o 調査保留 - - Flutter用のライブラリのため調査保留
fluttertoast o 調査保留 - - Flutter用のライブラリのため調査保留
geolocator_apple o 調査保留 - - Flutter用のライブラリのため調査保留
FMDB o 2.7.8 2.7.8 🆗 #852 DBヘルパー
GoogleDataTransport o 9.4.0 9.4.0 🆗 - Firebase関連。Google内部のライブラリで社員しか Pull Requestを作成できない (らしい)
GoogleSignIn o 7.0.0 - #341 Firebase関連
GoogleToolboxForMac o 4.2.1 4.2.1 🆗 - Firebase関連
GoogleUtilities o 7.13.1 7.13.0 🆗 - Firebase関連
GTMAppAuth o 4.1.1 4.1.0 🆗 #235 Firebase関連
GTMSessionFetcher o 3.4.1 3.3.0 🆗 - Firebase関連
grpcpp o 調査保留 - - Flutter用のライブラリのため調査保留
hermes o 調査保留 - - Flutter用のライブラリのため調査保留
image_picker_ios o 調査保留 - - Flutter用のライブラリのため調査保留
IQKeyboardManagerSwift o 7.0.2 7.0.0 🆗 #2004 キーボードマネージャー
IQKeyboardManager o - - - キーボードマネージャー
Kingfisher o 7.11.0 7.10.0 🆗   画像キャッシュ
leveldb o 調査保留 - - Flutter用のライブラリのため調査保留
Lottie o 4.4.3 4.4.0 🆗 #2213 アニメーションフレームワーク
MBProgressHUD o 1.2.0 対応済み。未リリース #647 プログレスHUD
nanopb o - - - Firebase関連
OneSignal o 5.1.5 5.0.5 🆗 #1334 プッシュ通知
OneSignalCore o - - - OneSignal関連
OneSignalExtension o - - - OneSignal関連
OneSignalOutcomes o - - - OneSignal関連
OpenSSL o 3.1.4000 議論中 #188  
OrderedSet o 6.0.1 議論中 #41 OrderedSet型を提供する
package_info o 調査保留 - - Flutter用のライブラリのため調査保留
package_info_plus o 調査保留 - - Flutter用のライブラリのため調査保留
path_provider o 調査保留 - - Flutter用のライブラリのため調査保留
path_provider_ios o 調査保留 - - Flutter用のライブラリのため調査保留
Promises o 2.4.0 2.4.0 🆗 #225, #226 Firebase関連
FBLPromises o 2.4.0 2.4.0 🆗 - Firebase関連
Protobuf o 25.3 25.3 🆗 - Firebase関連
Reachability o 5.2.1 5.2.0 🆗 #400, #401 ネットワークの状態管理
RealmSwift o 10.49.2 10.46.0 🆗 #8428, #8455 DB
RxSwift o 6.7.0 議論中 #2567, #2572 Rx。Pull Requestの作成まで進んでいたがクローズされ、引き続き議論が開始
RxCocoa o - - - Rx関連
RxRelay o - - - Rx関連
SDWebImage o 5.19.1 5.18.7 🆗   画像キャッシュ
share_plus o 調査保留 - - Flutter用のライブラリのため調査保留
shared_preferences_ios o 調査保留 - - Flutter用のライブラリのため調査保留
SnapKit o 5.7.1 5.7.0 🆗   レイアウトヘルパー
sqflite o 2.3.3 2.3.1 🆗 #1065 Flutter用のライブラリのため調査保留
Starscream o 4.0.6 議論中 #993 WebSocket
SVProgressHUD o 2.3.1 2.3.0 🆗 #1120 プログレスHUD
SwiftyGif o 5.4.4 対応済み。未リリース #192 Git画像表示
SwiftyJSON o 5.0.2 5.0.2 🆗 #1145 JSONパーサー。リポジトリはメンテナンスされていない
Toast o 4.1.1 4.1.0 🆗   トースト
UnityFramework o 調査保留 - 資料 Unity用のライブラリのため調査保留
url_launcher o 調査保留 - - Flutter用のライブラリのため調査保留
url_launcher_ios o 調査保留 - - Flutter用のライブラリのため調査保留
video_player_avfoundation o 調査保留 - - Flutter用のライブラリのため調査保留
wakelock o 調査保留 - - Flutter用のライブラリのため調査保留
webview_flutter_wkwebview o v0.6.2 - - Flutter用のライブラリのため調査保留
KeychainAccess x v4.2.2 無し #589, #587 秘匿情報管理。
SwiftyUserDefaults x 5.3.0 対応中 #299, #301 UserDefaultsラッパー。Appleのリストには含まれていないが、UserDefaultsを使っている?
KRProgressHUD x 3.4.7   プログレスHUD。他のProgressHUDはリストに含まれているが、これは入ってない
UIDeviceIdentifier x 2.3.0 無し🔥   デバイス情報。DeviceKit への移行を推奨
DeviceKit x 5.2.3 5.2.1 🆗 #366 デバイス情報
R.swift x 7.5.0 議論中 #872 リソース管理
CryptoSwift x 1.8.2 1.8.1 🆗 d7de7, #1040 暗号化
Treasure Data iOS SDK x 1.1.0 1.1.0 🆗 #118 データ解析
SwiftRater x 2.1.2 2.1.2 🆗 #47, #48 アプリ評価
RevenueCat SDK x 4.41.1 4.22.1 🆗 #2619 サブスクリプション管理
LicensePlistViewController x 2.3.0 #10 ライセンス表示

註1: Firebaseの各ライブラリは、Firebase v10.22.0にてPrivacy Manifests対応された。依存関係にあるライブラリは「Firebase関連」としてまとめている。

註2: 親子関係にあるライブラリについては、主要なライブラリのみを取り上げている。

まとめ

2024年1月11日時点で私のアプリで影響を受けているのは、AlamofireとFirebase関連であることがわかった。AlamofireとFirebaseは利用ユーザーが多いため、対応方針について活発に議論が進んでおり、今春までに何らかの対応が期待できるだろう。

一方、最終更新日が3年前以上前で、現在リポジトリがメンテナンスされていないライブラリもリストに含まれている。そのようなライブラリを使っている場合は、自分でフォークして実装する、または自身で対応してPull Requestを投げる、使うのをやめるなど早めに対策を考える必要があるだろう。

Appleに名指しされていないライブラリでも、該当するプライバシー関連APIを利用している場合はPrivacy Manifests対応が必要である。当該のライブラリでIssueが立っていなければ、自分で調査しておいた方が良いだろう。

(2024/3/22追記) 新しいプライバシー要件が有効になった

2月末にApp Storeへの提出における新しいプライバシー要件についての具体的な施行スケジュールが発表された。

3月13日からレビュー提出時にプライバシーマニフェストのチェックされ、不備があれば警告メールが発信される。5月1日からはプライバシーマニフェストの遵守が求められるようになり、不備がある場合にリジェクトされる。

3月14日時点で、プライバシーマニフェスト対応が不完全なアプリを、レビューに提出した際に送られてくる警告メールについて、以下の記事にまとめた。

更新履歴

  • 2024年4月27日:リストの更新。
  • 2024年3月22日:リストの更新。
  • 2024年3月6日:リストの更新。Privacy Manifest対応版のFirebase iOSD SDKがリリースされた。
  • 2024年3月4日:リストの更新。Privacy Manifest対応版のAlamofireがリリースされた。Appleにより3月13日からチェックが開始、5月1日から厳格化することが発表された
  • 2024年2月19日:リストの更新。Privacy Manifest対応版のChartsがリリースされた。AlamofireのPrivacy Manifest対応がマージされた (現在未リリース)
  • 2024年2月8日:リストの更新。Privacy Manifest対応版のFirebase iOS SDKのリリース予定が発表された
  • 2024年2月1日:リストの更新。Privacy Manifest対応版のCryptoSwift、Reachability.swiftがリリースされた。
  • 2024年1月26日:リストの更新。Privacy Manifest対応版のRealmがリリースされた。
  • 2024年1月22日:リストの更新。Privacy Manifest対応版のDeviceKitがリリースされた。
  • 2024年1月15日:リストの更新
  • 2024年1月10日:新規作成