web-dev-qa-db-fra.com

NSCameraUsageDescription in iOS 10.0 crash d'exécution?

À l'aide de iOS 10.0 dernière version bêta. J'avais essayé d'utiliser Camera pour scanner des codes à barres dans mon application, et cette erreur d'exécution s'est écrasée.

Cette application s'est bloquée car elle a tenté d'accéder à données sans description d'utilisation. Info.plist de l'application doit contenir une clé NSCameraUsageDescription avec une valeur de chaîne expliquant le utilisateur comment l'application utilise ces données.

Mettez cette clé dans le plist, mais elle s’est quand même écrasée? 

131
user3069232

Après iOS 10, vous devez définir et fournir une description de l’utilisation de toutes les données confidentielles du système auxquelles votre application a accès dans Info.plist, comme indiqué ci-dessous:

Calendrier 

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

Rappel :

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

Partage Bluetooth:

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

Microphone :

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

Caméra :

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

Emplacement :

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

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

Santé:

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

Médiathèque :

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

Mouvement :

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

Reconnaissance de la parole :

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

SiriKit: 

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

Fournisseur de télévision: 

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

Vous pouvez obtenir des informations détaillées dans this link.

187
BHUPI

Comme Apple a changé la manière dont vous pouvez accéder aux types de données privés de l'utilisateur dans iOS 10.

Vous devez ajouter la clé "Privacy - Camera usage description" au Info.plist de votre application et les informations d'utilisation qui s'appliquent à votre application, comme dans l'exemple ci-dessous que j'avais fourni et que j'avais utilisé pour scanner des codes à barres.

Pour plus d'informations, veuillez trouver la capture d'écran ci-dessous.

 enter image description here

93
Ramkrishna Sharma

Vous devez ajouter cette clé ci-dessous dans info.plist.

NSCameraUsageDescription Or Privacy - Camera usage description

Et ajoutez une description de l'utilisation.

Des captures d'écran détaillées sont disponibles dans ce lien - link

57
Bluewings

Sinon, ouvrez Info.plist en tant que code source et ajoutez ceci:

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

Utilisez ces valeurs brutes et copiez dans 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>
24
Xeieshan

l’interface utilisateur xcode a changé un peu d’une version à l’autre, c’est ici que vous pouvez mettre à jour le plist pour la version 9 beta 4 si cela vous aide Projet -> Cible -> Info enter image description here

19
user3325025

Un autre exemple auquel j’ai été confronté lors de la tentative d’utilisation de l’appareil photo était qu’il était toujours occupé à planter, donnant le même _CRASHING_DUE_TO_PRIVACY même après l’ajout de la "Description de l’utilisation de l’appareil photo". Après avoir échoué à obtenir quoi que ce soit de concret de la pile d’appels, basculez sur «Organiseur» et examinez les rapports d’incident sur l’appareil. J'ai constaté qu'il s'agissait en fait d'une plainte contre la confidentialité en raison de l'absence de la "description d'utilisation du microphone". J'ai ajouté cela et je me suis débarrassé d'une telle panne cryptique.

3
Yoku

Si vous utilisez Ionic, vous pouvez le résoudre directement depuis config.xml en ajoutant un tag ios à l'intérieur de la plateforme:

<platform name="ios">
.
.
.
    <config-file target="*-Info.plist" parent="NSPhotoLibraryUsageDescription">
        <string>photo library usage description</string>
    </config-file>
    <config-file target="*-Info.plist" parent="NSCameraUsageDescription">
        <string>camera usage description</string>
    </config-file>
.
.
.
</platform>

J'aimerais remercier @BHUPI pour sa réponse.

2
Victor Tavares

J'ai vérifié le plist et trouvé qu'il ne fonctionne pas, seulement dans les informations de "projet", vous devez ajouter le "Privacy - Camera ....", alors cela devrait fonctionner. J'espère vous aider.

1
Mark90

Pour ceux qui rencontrent toujours l'erreur même si vous avez ajouté les clés appropriées dans Info.plist:

Assurez-vous que vous ajoutez la clé dans Info.plist approprié. La nouvelle version de xCode a apparemment 3 Info.plist.

L'un est sous le dossier avec le nom de votre application, ce qui a résolu le problème pour moi.

La seconde est sous YourappnameTests et la troisième est sous YourappnameUITest.

J'espère que ça aide.

1
sc13

Pour ce faire, vous devez ajouter une clé d'utilisation à Info.plist de votre application, ainsi qu'une chaîne d'objet . NSCameraUsageDescription Spécifie le motif de votre application pour accéder à la caméra de l'appareil.

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

0
sagar gawande