J'essaie de recréer la condition dans laquelle le code suivant renvoie AVAuthorizationStatusNotDetermined
:
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
Cependant, l'iPad semble se souvenir des autorisations de l'appareil photo même après la suppression et la réinstallation de l'application, et donc soit Autorisé soit Non Autorisé est retourné à chaque fois. Une idée comment réinitialiser les autorisations pour que NotDeterminé soit renvoyé?
Merci d'avoir lu.
Vous ne pouvez pas réinitialiser l'autorisation par programmation. Si vous souhaitez réinitialiser l'autorisation, il existe deux manières:
Je sais que ces deux options ne sont vraiment pas utiles pour un développeur, s'il essaie de tester quelque chose.
Il existe trois alternatives pour tester le premier scénario d'exécution de votre application sans réinitialiser l'intégralité du système d'exploitation ou attendre un jour.
Comme décrit dans ( Note technique TN2265 :
Vous pouvez atteindre ce dernier sans attendre réellement un jour en suivant ces étapes:
- Supprimez votre application de l'appareil.
- Éteignez complètement l'appareil et rallumez-le.
- Accédez à Paramètres> Général> Date et heure et définissez la date à l'avance d'un jour ou plus.
- Éteignez à nouveau complètement l'appareil et rallumez-le.
Lorsque vous supprimez une application, l'iOS conserve l'autorisation de votre application mappée sur l'ID de l'ensemble de votre application, il conserve les données pour la journée. Vous pouvez donc également modifier l'ID de bundle de votre application pour le tester.
Comme suggéré par @rmaddy dans le commentaire, vous pouvez réinitialiser toutes les autorisations de localisation et de confidentialité: Paramètres -> Général -> Réinitialiser -> Réinitialiser l'emplacement et la confidentialité. Notez que cela réinitialisera toutes les autorisations de localisation et de confidentialité pour toutes les applications sur cet appareil.