Utilisation de Cordova/Phonegap avec les permission IOS 10

Dans iOS 10 Apple a étendu les contrôles vie privée. Maintenant vous devez les déclarer dans le fichier Info.plist afin d’exprimer revoir vous avez besoin de tel ou tel accès. Dans le cadre de l’utilisation de Cordova/Phonegap pour votre application mobile, voyons comment ajouter cela.

Les permissions sont à demander explicitement à l’utilisateur pour accéder à un numéro de contact, une photo, un emplacement, un calendrier, etc.

Dans quel cas utiliser les clés de confidentialité dans Info.plist ?

Toutes les fonctionnalités suivantes : Calendrier, Contact, Rappel, Photo, Partage Bluetooth, Microphone, Appareil photo, Emplacement, Heath, HomeKit, Médiathèque, Motion, CallKit, Reconnaissance vocale, SiriKit, Prestataire TV.

Calendrier :
Clé OSX xCode : Privacy – Calendars Usage Description
Clé Info.plist brute : NSCalendarsUsageDescription
Phonegap : CALENDARS_USAGE_DESCRIPTION
Valeur ex. : $(PRODUCT_NAME) calendar events

Rappels :
Clé OSX xCode : Privacy – Reminders Usage Description
Clé Info.plist brute : NSRemindersUsageDescriptio
Phonegap : REMINDERS_USAGE_DESCRIPTION
Valeur ex. : $(PRODUCT_NAME) reminder use

Contacts :
Clé OSX xCode : Privacy – Contacts Usage Description
Clé Info.plist brute : NSContactsUsageDescription
Phonegap : CONTACTS_USAGE_DESCRIPTION
Valeur ex. : $(PRODUCT_NAME) contact use

Photos :
Clé OSX xCode : Privacy – Photo Library Usage Description
Clé Info.plist brute : NSPhotoLibraryUsageDescription
Phonegap : PHOTO_USAGE_DESCRIPTION
Valeur ex. : $(PRODUCT_NAME) photo use

Partage Bluetooth :
Clé OSX xCode : Privacy – Bluetooth Peripheral Usage Description
Clé Info.plist brute : NSBluetoothPeripheralUsageDescription
Phonegap : BLUETOOTH_USAGE_DESCRIPTION
Valeur ex. : Bluetooth Peripheral use

Microphone :
Clé OSX xCode : Privacy – Microphone Usage Description
Clé Info.plist brute : NSMicrophoneUsageDescription
Phonegap : MICROPHONE_USAGE_DESCRIPTION
Valeur ex. : microphone use

Camera :
Clé OSX xCode : Privacy – Camera Usage Description
Clé Info.plist brute : NSCameraUsageDescription
Phonegap : CAMERA_USAGE_DESCRIPTION
Valeur ex. : camera use

Location :
Clé OSX xCode : Privacy – Location Always Usage Description
Clé Info.plist brute :
Valeur ex. : location use

Clé OSX xCode : Privacy – Location When In Use Usage Description
Clé Info.plist brute :
Valeur ex. : location use

Heath :
Clé OSX xCode : Privacy – Health Share Usage Description
Clé Info.plist brute :
Valeur ex. : heath share use

Clé OSX xCode : Privacy – Health Update Usage Description
Clé Info.plist brute :
Valeur ex. : heath update use

HomeKit :
Clé OSX xCode : Privacy – HomeKit Usage Description
Clé Info.plist brute :
Valeur ex. : home kit use

Libraire Média :
Clé OSX xCode : Privacy – Media Library Usage Description
Clé Info.plist brute :
Valeur ex. : media library use

Mouvement :
Clé OSX xCode : Privacy – Motion Usage Description
Clé Info.plist brute : NSMotionUsageDescription
Valeur ex. : motion use

Reconnaissance vocale :
Clé OSX xCode : Privacy – Speech Recognition Usage Description
Clé Info.plist brute : NSSpeechRecognitionUsageDescription
Valeur ex. : speech use

SiriKit :
Clé OSX xCode : Privacy – Siri Usage Description
Clé Info.plist brute : NSSiriUsageDescription
Valeur ex. : siri use

TV Provider :
Clé OSX xCode : Privacy – TV Provider Usage Description
Clé Info.plist brute : NSVideoSubscriberAccountUsageDescription
Valeur ex. : tvProvider use

Comment résoudre l’erreur ? Modifier le fichier Info.Plist après build Phonegap, réinstaller les plug-ins ou utiliser le plug-in ou utiliser le plug-in cordova-custom-config afin d’ajouter la clé de confidentialité en fonction de vos besoins.

Comme vous le voyez, il y a plusieurs méthodes, mais la plus simple, me semble la suppression et la re installation des plug-ins qui nécessite ces autorisations avec les nouveaux paramètres.

Voilà un exemple pour le plug-in cordova.plugins.diagnostic :

user$ phonegap plugin remove cordova.plugins.diagnostic
user$ phonegap plugin add cordova.plugins.diagnostic --variable CAMERA_USAGE_DESCRIPTION="camera use" --variable PHOTOLIBRARY_USAGE_DESCRIPTION="photo use" --variable CALENDARS_USAGE_DESCRIPTION="calendar events" --variable REMINDERS_USAGE_DESCRIPTION="reminder use" --variable BLUETOOTH_USAGE_DESCRIPTION="Bluetooth Peripheral use" --variable MOTION_USAGE_DESCRIPTION="motion use" --variable CONTACTS_USAGE_DESCRIPTION="contact use" --variable MICROPHONE_USAGE_DESCRIPTION="microphone use"

Si vous avez des remarques ou des éléments pour compléter cette liste, n’hésitez pas à me les soumettre dans vos commentaires.
Bonnes fêtes !!!

5.00 avg. rating (96% score) - 5 votes