web-dev-qa-db-ja.com

iOS 10 GMアプリの送信時のリリースエラー「アプリは、使用状況の説明なしでプライバシーに敏感なデータにアクセスしようとします」GoogleSignIn、AdMobが原因

IOS 10 GMリリースでこの問題に直面し始めたばかりです。次のようなメールを受け取りました:

配送を処理するには、次の問題を修正する必要があります。

このアプリは、使用法の説明なしでプライバシーに敏感なデータにアクセスしようとします。アプリのInfo.plistには、アプリがこのデータをどのように使用するかをユーザーに説明する文字列値を持つNSCameraUsageDescriptionキーが含まれている必要があります。

必要な修正が行われたら、修正されたバイナリを再配信できます。

よろしく、

App Storeチーム

Google GoogleSignInを使用しています。私はFirebaseを使用していませんが、GoogleSignInをココアポッドと一緒にインストールすると、ログにFirebaseが自動的にインストールされていることがわかりました。

私のアプリはカメラ/写真などとは関係がないので、これらのキーを定義する以外にできることはありますか?.

他の誰かがこの問題に直面していることに気付きました: https://forums.developer.Apple.com/thread/62229

79
Pranoy C

Googleの完全な回避策へのリンクは次のとおりです。 https://groups.google.com/d/msg/google-admob-ads-sdk/UmeVUDrcDaw/HIXR0kjUAgAJ

そのリンクの詳細情報ですが、TL; DRバージョンでは、plistに3つの項目を追加する必要があります。

<key>NSCalendarsUsageDescription</key>
<string>Advertisement would like to create a calendar event.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Advertisement would like to store a photo.</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Advertisement would like to use bluetooth.</string>
94
kevcol

iOS 10では、アプリでカメラまたはフォトギャラリーを使用している場合、以下の画像に記載されているキーを追加する必要があります enter image description here

28
Pritesh

IOS 10では、Appleにより、ポップアップを必要とする機能のInfo.plistで使用法の説明を定義することが要件になりました。 http://useyourloaf.com/blog/privacy-settings-in-ios-10/ を参照してください

ベータプログラム中に、使用法の説明が設定されていないと、アプリがプロンプトを表示するときにクラッシュしました。

ITunes Connect検証ツールは、権限関連オブジェクトに関連付けられているクラスへのアプリ内の参照を検索するように変更されているようです。 Info.plistエントリがない場合、バイナリを拒否します。

これは、カメラが存在するかどうかを検出するライブラリに古いヘルパーメソッドがあった自分のアプリの1つで見ました。アプリがそのメソッドを呼び出さなかったとしても、同じファイルで別のメソッドを使用したため、バイナリにリンクされていました。そのアプリはカメラを使用しなかったため、Info.plistエントリを定義しませんでした。そしてそれは拒否されました。私は単にヘルパーメソッドを削除し、それを使用した他のアプリにチェックを移動しました。

ただし、AdMobにはカレンダーへの参照があるため、広告を使用し、カレンダー自体を使用していないアプリは送信できません。 Googleに感謝します!

13
Geoff Hackworth

Info.Plistでカメラの許可が必要です。 Info.plistに移動して、以下のコードを追加します。

Key       :  Privacy - Camera Usage Description   
Value     :  $(PRODUCT_NAME) camera use

この参照を参照してください:enter image description here

9
Kirit Modi

これがすべてのプライバシーキーです。簡単な説明を付けてInfo.plistに手動で追加する必要があります。

•       Bluetooth Sharing – NSBluetoothPeripheralUsageDescription
•       Calendar – NSCalendarsUsageDescription
•       CallKit – NSVoIPUsageDescription
•       Camera – NSCameraUsageDescription
•       Contacts – NSContactsUsageDescription
•       Health – NSHealthShareUsageDescription & NSHealthUpdateUsageDescription
•       HomeKit – NSHomeKitUsageDescription
•       Location – NSLocationUsageDescription, NSLocationAlwaysUsageDescription, NSLocationWhenInUseUsageDescription
•       Media Library – NSAppleMusicUsageDescription
•       Microphone – NSMicrophoneUsageDescription
•       Motion – NSMotionUsageDescription
•       Photos – NSPhotoLibraryUsageDescription
•       Reminders – NSRemindersUsageDescription
•       Speech Recognition – NSSpeechRecognitionUsageDescription
•       SiriKit – NSSiriUsageDescription
•       TV Provider – NSVideoSubscriberAccountUsageDescription
5
Kiran K

EDIT:上記の回答を参照してください https://stackoverflow.com/a/39476283/1634905 googleによる回避策。回避策には、必要な追加のキーがありません:NSCameraUsageDescription

回避策の解決策:GoogleのAdMobおよびGoogleSignInのフレームワークは、アプリが実行しない場合でもそのような権限を使用するfirebaseを自動的にインストールします。 info.plistNSCameraUsageDescriptionを定義したら、アプリがユーザーにプロンプ​​トを表示せず、テキストも表示されないことを期待して問題なく送信できます。

3
Pranoy C

7.11.0で修正 https://firebase.google.com/docs/admob/release-notes

必ずSDKを更新してください

2
ayalcinkaya

Googleフレームワークは、ユーザーの許可(つまり、ユーザーの位置)を必要とする追加のシステムフレームワークを使用し、.plistファイルに関連する説明を追加するのを忘れている可能性があります!再確認してください。

使用許可の説明の一部は、iOS 10で必須になりました。

2
GrizzlyBear

ESRIのArcGIS.frameworkを使用している場合は、必ずこのキーを追加してください。

0
Marius