NSCameraUsageDescription в iOS 10.0 runtime crash?



С помощью iOS 10.0 последняя бета. Я пытался использовать камеру для сканирования штрих-кода в моем приложении, и он разбился с этой ошибкой во время выполнения.




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




поместите этот ключ в plist, но он все равно разбился?

685   9  

9 ответов:

после iOS 10 вы должны определить и предоставить описание использования всех конфиденциальных данных системы, к которым обращается ваше приложение в Info.plist, как показано ниже:

календарь

Key    :  Privacy - Calendars Usage Description    
Value  :  $(PRODUCT_NAME) calendar events

напоминание :

Key    :   Privacy - Reminders Usage Description    
Value  :   $(PRODUCT_NAME) reminder use

контакты :

Key    :   Privacy - Contacts Usage Description     
Value  :  $(PRODUCT_NAME) contact use

фото :

Key    :  Privacy - Photo Library Usage Description    
Value  :  $(PRODUCT_NAME) photo use

Обмен Bluetooth:

Key    :  Privacy - Bluetooth Peripheral Usage Description     
Value  :  $(PRODUCT_NAME) Bluetooth Peripheral use

микрофон :

Key    :  Privacy - Microphone Usage Description    
Value  :  $(PRODUCT_NAME) microphone use

камера :

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

расположение :

Key    :  Privacy - Location Always Usage Description   
Value  :  $(PRODUCT_NAME) location use

Key    :  Privacy - Location When In Use Usage Description   
Value  :  $(PRODUCT_NAME) location use

хит :

Key    :  Privacy - Health Share Usage Description   
Value  :  $(PRODUCT_NAME) heath share use

Key    :  Privacy - Health Update Usage Description   
Value  :  $(PRODUCT_NAME) heath update use

HomeKit:

Key    :  Privacy - HomeKit Usage Description   
Value  :  $(PRODUCT_NAME) home kit use

Медиабиблиотека :

Key    :  Privacy - Media Library Usage Description   
Value  :  $(PRODUCT_NAME) media library use

движения :

Key    :  Privacy - Motion Usage Description   
Value  :  $(PRODUCT_NAME) motion use

Распознавание Речи :

Key    :  Privacy - Speech Recognition Usage Description   
Value  :  $(PRODUCT_NAME) speech use

SiriKit:

Key    :  Privacy - Siri Usage Description  
Value  :  $(PRODUCT_NAME) siri use

ТВ-провайдера :

Key    :  Privacy - TV Provider Usage Description   
Value  :  $(PRODUCT_NAME) tvProvider use

вы можете получить подробную информацию в этой ссылка.

как Apple изменила, как вы можете получить доступ к любым пользовательским личным типам данных в iOS 10.

вам нужно добавить "Privacy - Camera usage description " ключ к вашему приложению Info.plist и их информация об использовании, которая применяется для вашего приложения, как в приведенном ниже примере я предоставил, что я использовал для сканирования штрих-кодов.

для получения дополнительной информации, пожалуйста, найти ниже скриншот.

enter image description here

вы должны добавить это ниже ключа в информации.файл plist.

NSCameraUsageDescription Или Privacy - Camera usage description

и добавить описание использования.

подробные скриншоты доступны в этот ссылке

кроме того открытая информация.plist в качестве исходного кода и добавить это:

<key>NSCameraUsageDescription</key>
<string>Camera usage description</string>

используйте эти необработанные значения и скопируйте в info.файл plist

    <key>NSCalendarsUsageDescription</key>
      <string>$(PRODUCT_NAME) calendar events</string>
    <key>NSRemindersUsageDescription</key>
      <string>$(PRODUCT_NAME) reminder use</string>
    <key>NSCameraUsageDescription</key>
      <string>This app requires to access your photo library to show image on profile and send via chat</string>
    <key>NSMicrophoneUsageDescription</key>
      <string>This app requires to access your microphone to record video with your voice send via chat</string>
    <key>NSPhotoLibraryUsageDescription</key>
      <string>This app requires to access your photo library to show image on profile and send via chat</string>
    <key>NSContactsUsageDescription</key>
       <string>$(PRODUCT_NAME) contact use</string>
    <key>NSLocationAlwaysUsageDescription</key>
      <string>$(PRODUCT_NAME) location use</string>
    <key>NSLocationWhenInUseUsageDescription</key>
      <string>$(PRODUCT_NAME) location use</string>

интерфейс xcode немного изменился от одной версии к другой, поэтому здесь вы обновляете plist для 9.0 beta 4, Если это помогает Проект- > Цель - >Информацияenter image description here

еще один пример, с которым я столкнулся при попытке использовать камеру, состоял в том, что он все еще был занят сбоем, давая то же самое _CRASHING_DUE_TO_PRIVACY даже после добавления "описание использования камеры". После того, как не удалось получить ничего осязаемого из стека вызовов, переключился на "органайзер" и заглянул в отчеты о сбоях на устройстве. Я обнаружил, что на самом деле он жаловался на конфиденциальность из-за отсутствия "описания использования микрофона". Я добавил, что и избавился от такой загадочной поломки.

для тех, кто все еще получает ошибку, даже если вы добавили правильные ключи в информацию.файл plist:

убедитесь, что вы добавляете ключ в правильную Инфо.файл plist. Более новая версия xCode, по-видимому, имеет информацию 3.файл plist.

один находится в папке с именем вашего приложения, которое решило проблему для меня.

второй находится под YourappnameTests и третий находится под YourappnameUITests.

надеюсь, что это помогает.

вы делаете это, добавляя ключ использования к информации вашего приложения.plist вместе со строкой цели. NSCameraUsageDescription Указывает причину доступа приложения к камере устройства

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html

Comments

    Ничего не найдено.