13 votes

Comment vérifier si Apple Maps est installé

Quelqu'un sait-il comment vérifier si Apple Maps est installé ou non ? Je n'ai rien trouvé dans la documentation.

Avec iOS10, les utilisateurs peuvent supprimer l'application Apple Maps. Pour Google Maps, on peut utiliser UIApplication.shared.canOpenURL() pour vérifier s'il est installé. Je n'ai pas connaissance de l'existence d'une telle chose pour vérifier la présence d'Apple Maps.

Bien sûr, on peut vérifier si l'ouverture d'un MKMapItem con mapItem.openInMaps() échoue - mais cela ne permet pas de vérifier à l'avance.

11voto

JMI Points 1412

La réponse est simple : ce n'est pas possible actuellement.

La raison est que l'application Apple Maps n'est pas supprimée, seule l'icône de l'application est supprimée de l'écran d'accueil (voir le commentaire de Mike D).

URL personnalisée de cette application ( maps:// ) est toujours enregistrée, de sorte que sharedApplication peut ouvrir cette url. Mais lorsque vous essayez d'ouvrir cette url et que l'icône de l'application est supprimée de l'écran d'accueil, l'utilisateur est averti qu'il doit restaurer l'application par l'intermédiaire de l'AppStore. Lorsque l'utilisateur souhaite restaurer l'application, celle-ci est restaurée immédiatement (rien n'est téléchargé).

Résultat de MKMapItem.openMaps signifie que seul l'utilisateur décide s'il veut ouvrir Apple Maps.

IMHO Apple Maps ne peut pas être désinstallé régulièrement parce que ses données sont réutilisées par d'autres applications.

2voto

azwethinkweiz Points 26

Dans la version actuelle, c'est-à-dire la 11.2, il semble que vous puissiez supprimer Apple Maps de votre téléphone. Mais malheureusement, si vous faites quelque chose comme :

 if (UIApplication.shared.canOpenURL(URL(string: "maps://")!)) {
        //do whatever you need to do here.
 }

il revient toujours true .

Mais il gère la navigation de manière élégante. Dans mon cas, je propose à l'utilisateur un choix entre Apple Maps et Google Maps. Lorsque Apple Maps n'est pas présent, il me fournit ceci, IMHO, c'est bien parce que l'utilisateur n'est pas navigué hors de l'application et peut choisir une option différente s'il le souhaite :

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X