Search code examples
ioscameraplistbarcodeios-permissions

NSCameraUsageDescription in iOS 10.0 runtime crash?


Using iOS 10.0 last beta. I had tried to use Camera to scan barcode in my app, and it crashed with this runtime error.

This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

Put this key into the plist, but it still crashed?


Solution

  • After iOS 10 you have to define and provide a usage description of all the system’s privacy-sensitive data accessed by your app in Info.plist as below:

    Calendar

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

    Reminder :

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

    Contact :

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

    Photo :

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

    Bluetooth Sharing :

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

    Microphone (also used for video recording) :

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

    Camera (photo or video recording) :

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

    Location :

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

    Heath :

    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
    

    Media Library :

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

    Motion :

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

    Speech Recognition :

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

    SiriKit :

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

    TV Provider :

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

    You can get detailed information in this link.