Я только начал сталкиваться с этой проблемой с выпуском iOS 10 GM. Я получил электронное письмо, в котором говорилось:
Чтобы обработать вашу доставку, необходимо исправить следующие проблемы:
Это приложение пытается получить доступ к конфиденциальным данным без описания использования. Info.plist приложения должен содержать ключ NSCameraUsageDescription со строковым значением, объясняющим пользователю, как приложение использует эти данные.
После того, как необходимые исправления будут внесены, вы можете повторно загрузить исправленный двоичный файл.
С Уважением,
Команда App Store
Я использую Google GoogleSignIn. Я не использую Firebase, но при установке GoogleSignIn с какао-стручками я видел в журналах, что Firebase автоматически устанавливается.
Есть ли что-то, что мы можем сделать, кроме определения этих ключей, поскольку мое приложение не имеет ничего общего с камерой / фотографиями и т. Д., И поэтому я не хочу, чтобы пользователи думали, что мы их используем.
Я заметил, что кто-то еще столкнулся с этой проблемой: https://forums.developer.apple.com/thread/62229
источник
Ответы:
Вот ссылка на полный обходной путь от Google: https://groups.google.com/d/msg/google-admob-ads-sdk/UmeVUDrcDaw/HIXR0kjUAgAJ
Дополнительная информация по этой ссылке, но версия TL; DR - вам нужно добавить три элемента в свой список:
<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>
источник
в iOS 10 вам нужно добавить ключ, указанный на изображении ниже, если вы используете камеру или фотогалерею в своем приложении.
источник
В iOS 10 Apple потребовала определить описание использования в Info.plist для любой функции, для которой требуется всплывающее окно. См. Http://useyourloaf.com/blog/privacy-settings-in-ios-10/
Во время бета-программы приложения вылетали в тот момент, когда отображалось приглашение, если описание использования не было задано.
Похоже, что инструменты проверки iTunes Connect были изменены, чтобы искать в приложении ссылки на классы, связанные с объектами, связанными с разрешениями. Если нет записи Info.plist, они отклоняют двоичный файл.
Я видел это в одном из моих собственных приложений, где у меня был старый вспомогательный метод в библиотеке, который определял, существует ли камера или нет. Хотя приложение никогда не вызывало этот метод, он был связан с моим двоичным кодом, потому что я использовал другой метод в том же файле. Это приложение не использовало камеру и поэтому не определяло запись Info.plist. И это было отклонено. Я просто удалил свой вспомогательный метод и переместил проверки в другие приложения, которые его использовали.
Однако в AdMob, похоже, есть ссылки на Календарь, поэтому мое приложение, которое использует рекламу и не использует сам Календарь, не может быть отправлено. Спасибо, Google!
источник
У вас должно быть разрешение камеры в Info.Plist. перейдите к Info.plist и добавьте ниже код.
Key : Privacy - Camera Usage Description Value : $(PRODUCT_NAME) camera use
См. Эту ссылку:
источник
Вот все ключи конфиденциальности, нам нужно вручную добавить их в 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
источник
РЕДАКТИРОВАТЬ: обратитесь к ответу выше https://stackoverflow.com/a/39476283/1634905, в котором перечислены официальные обходные пути от Google. ОБРАТИТЕ ВНИМАНИЕ, что в обходном пути отсутствует дополнительный ключ, который также потребуется:
NSCameraUsageDescription
Обходное решение, которое я использовал: фреймворки Google для AdMob и GoogleSignIn автоматически устанавливают firebase, которая использует такие разрешения, хотя приложение никогда этого не делает. После того, как я определился
NSCameraUsageDescription
вinfo.plist
, он позволил мне отправить без проблем, надеясь, что приложение никогда не будет запрашивать у пользователя, поэтому он тоже не увидит текст.источник
Возможно ли, что в Google Framework используется какая-то дополнительная системная структура, для которой требуется разрешение пользователя (т.е. положение пользователя), и вы забыли добавить соответствующее описание в файл .plist! Дважды проверьте это.
Некоторые описания разрешений на использование стали обязательными в iOS 10.
источник
Исправлено в 7.11.0 https://firebase.google.com/docs/admob/release-notes
Убедитесь, что вы обновили SDK
источник
Убедитесь, что вы добавляете этот ключ, если вы используете ESRI ArcGIS.framework.
источник