Dans iOS10, avant d'accéder à des données sensibles à la confidentialité telles que l'appareil photo, les contacts, etc., vous devez demander l'autorisation, sinon votre application se bloquera lorsque vous y accéderez.Ensuite, Xcode se connectera comme:
Cette application a planté, car elle a tenté d'accéder à des données sensibles à la confidentialité sans description d'utilisation. Le fichier Info.plist de l'application doit contenir une NSContactsUsageDescriptionclé avec une valeur de chaîne expliquant à l'utilisateur comment l'application utilise ces données.
Comment gérer cela?
Ouvrez le fichier dans votre projet nommé info.plist, faites un clic droit dessus, ouvrez en tant que Source Code, collez ce code ci-dessous. Vous pouvez aussi ouvrir info.plistque Property Listpar défaut, cliquez sur le bouton Ajouter, Xcode vous donnera le suggérer complétions lors de la frappe Privacy - à l'aide du clavier ⬆️ et ⬇️.
N'oubliez pas d'écrire votre description de la raison pour laquelle vous demandez cette autorisation, entre <string>et </string>, ou votre application sera rejetée par Apple:
<!-- 🖼 Photo Library -->
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) photo use</string>
<!-- 📷 Camera -->
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) camera use</string>
<!-- 🖼 Write To Image Gallery>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>$(PRODUCT_NAME) save phots in gallry</string>
<!-- 🎤 Microphone -->
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) microphone use</string>
<!-- 📍 Location -->
<key>NSLocationUsageDescription</key>
<string>$(PRODUCT_NAME) location use</string>
<!-- 📍 Location When In Use -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>$(PRODUCT_NAME) location use</string>
<!-- 📍 Location Always -->
<key>NSLocationAlwaysUsageDescription</key>
<string>$(PRODUCT_NAME) always uses location </string>
<!-- 📆 Calendars -->
<key>NSCalendarsUsageDescription</key>
<string>$(PRODUCT_NAME) calendar events</string>
<!-- ⏰ Reminders -->
<key>NSRemindersUsageDescription</key>
<string>$(PRODUCT_NAME) reminder use</string>
<!-- 📒 Contacts -->
<key>NSContactsUsageDescription</key>
<string>$(PRODUCT_NAME) contact use</string>
<!-- 🏊 Motion -->
<key>NSMotionUsageDescription</key>
<string>$(PRODUCT_NAME) motion use</string>
<!-- 💊 Health Update -->
<key>NSHealthUpdateUsageDescription</key>
<string>$(PRODUCT_NAME) heath update use</string>
<!-- 💊 Health Share -->
<key>NSHealthShareUsageDescription</key>
<string>$(PRODUCT_NAME) heath share use</string>
<!-- ᛒ🔵 Bluetooth Peripheral -->
<key>NSBluetoothPeripheralUsageDescription</key>
<string>$(PRODUCT_NAME) Bluetooth Peripheral use</string>
<!-- 🎵 Media Library -->
<key>NSAppleMusicUsageDescription</key>
<string>$(PRODUCT_NAME) media library use</string>
<!-- 📱 Siri -->
<key>NSSiriUsageDescription</key>
<string>$(PRODUCT_NAME) siri use</string>
<!-- 🏡 HomeKit -->
<key>NSHomeKitUsageDescription</key>
<string>$(PRODUCT_NAME) home kit use</string>
<!-- 📻 SpeechRecognition -->
<key>NSSpeechRecognitionUsageDescription</key>
<string>$(PRODUCT_NAME) speech use</string>
<!-- 📺 VideoSubscriber -->
<key>NSVideoSubscriberAccountUsageDescription</key>
<string>$(PRODUCT_NAME) tvProvider use</string>
Si cela ne fonctionne pas, essayez de demander l'autorisation d'arrière-plan:
<key>UIBackgroundModes</key>
<array>
<!-- something you should use in background -->
<string>location</string>
</array>
Ou allez à target -> Capabilities -> Background Modes -> open the background Modes:

puis nettoyez votre projet, exécutez-le.
Cliquez ici pour plus d'informations: iOS10AdaptationTips .