Formation PUB900 : Développer une application pour iPhone avec SwiftUI, H-2024 Demander une permission

56.1 Permission requise pour travailler avec un capteur


Certaines classes intéragissent avec des capteurs afin de fournir des informations dont l'usage est en lien avec le respect de la vie privée. 

Lorsqu'une application utilise une telle classe, il faut demander à l'usager la permission d'utiliser des données en lien avec sa vie privée.

Ceci consiste à ajouter une clé dans Info.plist afin d'indiquer à l'usager pourquoi l'application veut utiliser ces informations.

Le nom exact de la clé est précisé dans la documentation officielle de la classe en question.

Grâce à cette clé, lorsque l'application sera lancée, une boîte de dialogue demandera à l'usager la permission d'utiliser ces informations. L'usager devra accepter pour que l'application puisse fonctionner.

Demande permission

Quelles fonctionnalités nécessitent l'ajout d'une clé dans Info.plist?

Lorsque c'est requis, la documentation indique clairement qu'il faut ajouter une entrée dans Info.plist. Pour chacune des classes en cause, on retrouve un avertissement du genre1 :

To use this API, you must include the NSMotionUsageDescription key in your app’s Info.plist file

Si vous ne le faites pas, l'application plantera ou les fonctionnalités qui requièrent cette clé ne seront pas activées.

Dans le cas où l'application plante, vous obtiendrez dans Xcode un écran qui indique que l'application a envoyé un code SIGABRT (SIGnal ABoRT).

SIGABRT

Et au bas de l'écran, vous aurez un message qui indique plus clairement ce qui a causé ce signal.

Par exemple, dans le cas d'une application qui utilise la classe CMPedometer, le message indique que l'application n'a pas de clé NSMotionUsageDescription dans son fichier Info.plist.

This

Pour que l'application puisse fonctionner, vous devez ajouter une clé dans Info.plist.

Dans la clé nouvellement ajoutée, la valeur doit correspondre au texte qui indique pourquoi l'application a besoin d'accéder à ces informations.

Ce pourrait être quelque chose du genre « $(PRODUCT_NAME) a besoin d'accéder à ces informations pour calculer vos pas quand l'application est active. ».

Source

1. « CMPedometer ». Apple. https://developer.apple.com/documentation/coremotion/cmpedometer

Pour plus d'information

« Requesting Authorization for Location Services ». Apple. https://developer.apple.com/documentation/corelocation/requesting_authorization_for_location_services

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre