Подтвердить что ты не робот

Ошибка при выпуске iOS 10 GM при подаче приложений "приложение пытается получить доступ к конфиденциальным данным без описания использования" из-за GoogleSignIn, AdMob

Я только начал сталкиваться с этой проблемой с выпуском iOS 10 GM. Я получил сообщение по электронной почте:

Для обработки вашей доставки необходимо устранить следующие проблемы:

Это приложение пытается получить доступ к конфиденциальным данным без описания использования. Приложение Info.plist должно содержать ключ NSCameraUsageDescription со строковым значением, объясняющим пользователю, как приложение использует эти данные.

После того, как были сделаны необходимые исправления, вы можете повторно добавить исправленный двоичный файл.

Привет,

Команда App Store

Я использую Google GoogleSignIn. Я не использую Firebase, но при установке GoogleSignIn с cocoa pods я видел в журналах, что он автоматически установил Firebase.

Есть ли что-то, что мы можем сделать, кроме необходимости определять эти ключи, поскольку мое приложение не имеет ничего общего с камерой/фотографиями и т.д., и поэтому я не хочу, чтобы пользователи думали, что мы их используем.

Я заметил, что кто-то еще столкнулся с этой проблемой: https://forums.developer.apple.com/thread/62229

4b9b3361

Ответ 1

Здесь ссылка на полный обходной путь от Google: https://groups.google.com/d/msg/google-admob-ads-sdk/UmeVUDrcDaw/HIXR0kjUAgAJ

Дополнительная информация по этой ссылке, но версия TL; DR вам нужно добавить три элемента к вашему plist:

<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>

Ответ 2

в iOS 10 вам нужно добавить ключ, упомянутый ниже, если вы используете камеру или фотогалерею в своем приложении enter изображение здесь

Ответ 3

В iOS 10 Apple потребовало определения описания использования в Info.plist для любой функции, для которой требуется всплывающее окно. См. http://useyourloaf.com/blog/privacy-settings-in-ios-10/

Во время бета-программы приложения будут сбой в то время, когда они будут показывать приглашение, если описание использования не было установлено.

Похоже, что инструменты проверки iTunes Connect были изменены, чтобы искать ссылки в приложении для классов, связанных с объектами, связанными с правами. Если нет записи Info.plist, они отклоняют двоичный файл.

Я видел это в одном из своих приложений, где у меня был старый метод помощника в библиотеке, который обнаружил, существует ли камера или нет. Несмотря на то, что приложение никогда не вызывало этот метод, оно было связано с моим двоичным кодом, потому что я использовал другой метод в том же файле. Это приложение не использовало камеру и поэтому не определяло запись Info.plist. И это было отклонено. Я просто удалил свой вспомогательный метод и переместил чеки в другие приложения, которые его использовали.

Однако у AdMob есть ссылки на Календарь, поэтому приложение, которое у меня есть, которое использует рекламу и не использует сам календарь, не может быть отправлено. Спасибо Google!

Ответ 4

см. справочное руководство для всех разрешений: Все разрешения в Info.plist

У вас должно быть разрешение камеры в Info.Plist. goto Info.plist и добавить код ниже.

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

См. эту ссылку: введите описание изображения здесь

Ответ 5

РЕДАКТИРОВАТЬ: См. ответ выше fooobar.com/questions/64240/... в котором указано официальное обходное решение google. Учтите, что в обходном пути отсутствует дополнительный ключ, который также потребуется: NSCameraUsageDescription

Обходное решение, которое я использовал: рамки Google для AdMob и GoogleSignIn автоматически устанавливают firebase, которая использует такие разрешения, даже если приложение никогда не делает. После того, как я определил NSCameraUsageDescription в info.plist, он позволил мне отправить без проблем в надежде, что приложение не будет запрашивать пользователя, чтобы они не увидели текст.

Ответ 6

Вот все секретные ключи, мы должны вручную добавить их в 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

Ответ 7

Возможно ли, что в Google Framework используется дополнительная системная инфраструктура, требующая разрешения пользователя (то есть позиция пользователя), и вы забудете добавить соответствующее описание в файл .plist! Дважды проверьте это.

Некоторое описание разрешения использования стало обязательным в iOS 10.

Ответ 9

Убедитесь, что вы добавляете этот ключ, если вы являетесь ESRI ArcGIS.framework.