NSCameraUsageDescription в iOS 10.0 runtime crash?
С помощью iOS 10.0 последняя бета. Я пытался использовать камеру для сканирования штрих-кода в моем приложении, и он разбился с этой ошибкой во время выполнения.
Это приложение разбилось, потому что он попытался получить доступ к конфиденциальной информации
данные без описания использования. Информация о приложении.plist файл должен содержать
ключ NSCameraUsageDescription со строковым значением, объясняющим
пользователей как приложение использует эти данные.
поместите этот ключ в plist, но он все равно разбился?
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 useHomeKit:
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 useSiriKit:
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и их информация об использовании, которая применяется для вашего приложения, как в приведенном ниже примере я предоставил, что я использовал для сканирования штрих-кодов.для получения дополнительной информации, пожалуйста, найти ниже скриншот.
вы должны добавить это ниже ключа в информации.файл 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>
еще один пример, с которым я столкнулся при попытке использовать камеру, состоял в том, что он все еще был занят сбоем, давая то же самое
_CRASHING_DUE_TO_PRIVACYдаже после добавления "описание использования камеры". После того, как не удалось получить ничего осязаемого из стека вызовов, переключился на "органайзер" и заглянул в отчеты о сбоях на устройстве. Я обнаружил, что на самом деле он жаловался на конфиденциальность из-за отсутствия "описания использования микрофона". Я добавил, что и избавился от такой загадочной поломки.
для тех, кто все еще получает ошибку, даже если вы добавили правильные ключи в информацию.файл plist:
убедитесь, что вы добавляете ключ в правильную Инфо.файл plist. Более новая версия xCode, по-видимому, имеет информацию 3.файл plist.
один находится в папке с именем вашего приложения, которое решило проблему для меня.
второй находится под YourappnameTests и третий находится под YourappnameUITests.
надеюсь, что это помогает.
вы делаете это, добавляя ключ использования к информации вашего приложения.plist вместе со строкой цели. NSCameraUsageDescription Указывает причину доступа приложения к камере устройства


Comments