40
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

サードパーティライブラリにユーザデータにアクセスするコードが含まれていてリジェクトされる件

Last updated at Posted at 2016-09-09

Xcode8GMでビルドしたアプリをsubmitしたところ以下の様なメールが届き、iTCからsubmitしたバイナリが削除されました。

Title: iTunes Connect: Your app "<app name>" has one or more issues

Dear developer,
We have discovered one or more issues with your recent delivery for "<app name>". To process your delivery, the following issues must be corrected:

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCalendarsUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

Once these issues have been corrected, you can then redeliver the corrected binary.

Regards,

The App Store team

iOS10からユーザデータにアクセスする際の説明文をplistに組み込むことが必須になりましたが(参考)、私のアプリではそのようなコードを書いた覚えがありません。

原因はサードパーティのライブラリにありました。nmコマンドを使って各ライブラリのバイナリをひとつずつチェックしてみたところ、以下が該当しました。

nm Pods/Google-Mobile-Ads-SDK/GoogleMobileAdsSdkiOS-7.5.0/GoogleMobileAds.framework/GoogleMobileAds  | grep OBJC_CLASS | grep EKEvent
                 U _OBJC_CLASS_$_EKEvent
                 U _OBJC_CLASS_$_EKEventEditViewController
                 U _OBJC_CLASS_$_EKEventStore
                 U _OBJC_CLASS_$_EKEventStore

nm Pods/FBAudienceNetwork/FBAudienceNetwork.framework/FBAudienceNetwork | grep UIImagePickerController
                 U _OBJC_CLASS_$_UIImagePickerController

今回の場合は、上記の広告系ライブラリにカレンダーやフォトライブラリにアクセスするようなコードが含まれていたようです。

とれる対応としては以下のいずれかでしょう。

  • plistにまっとうな理由を書く
  • ライブラリを使うのをやめる

Appleからの公式見解も出ています。
https://forums.developer.apple.com/message/176579#176579

前者に対応する場合、ライブラリ提供元に問い合わせて、どのような用途で上記コードを使っているかを問い合わせる必要がありそうです(そのうちアナウンスがあるかもしれません)。

当然上記以外にも該当するライブラリはおそらくたくさんあるはずなので、どこかで共有できればよいですね。

2016/09/09 13:07追記
AdMobは来週あたりに見解を出すそうです
https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/ios/y-IxErXawxg

40
38
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?