Truc amusant aujourd’hui, comment simuler n’importe quelle position sur un appareil iOS ? Ca demande un peu de matériel, je vais expliquer, mais c’est imparable.
Le but : faire des trucs amusants avec les EXIF des photos mais aussi passer outre certaines limitations d’applications, qui utilisent Core Location pour restreindre l’accès. Ca permet aussi de s’amuser avec Foursquare, par exemple, ou Facebook.
Le principe : Apple permet, avec Core Location, d’utiliser un GPS externe. J’ai donc un câble qui a d’un côté un connecteur dock 30 broches et de l’autre une prise série, destinée à recevoir un récepteur GPS. C’est RedPark qui produit cet accessoire, assez difficile à trouver (j’ai du chercher sur eBay pendant un moment).
Ensuite, et c’est là que c’est intéressant, il suffit de mettre un simulateur de GPS au lieu d’un vrai GPS. Il existe des tas de programmes capables d’envoyer des données NMEA (un standard) via un port COM et les adaptateurs USB vers série sont simples à trouver.
Dans mon cas, j’ai donc un Windows XP en machine virtuelle, un adaptateur USB vers série, un câble série Null Modem (pas un droit, je me suis fait avoir) et un petit programme efficace : GPS Emulator.
Pour le moment, je suis fan des Chevaliers du Zodiaque, donc j’ai fait une photo à l’Acropole (en espérant que WordPress garde les EXIF).
Enfin, comme on le voit, on peut faire des choses amusantes. Notons que RedPark propose une application pour son câble, qui permet de vérifier que ça fonctionne.
Notons par contre que ça ne marche pas avec les applications de Replay et autres, dans la majorité des cas, c’est l’adresse IP qui est utilisée et pas la localisation…
Pour informations, enfin, ça fonctionne parfaitement avec un adaptateur dock vers Lightning sur un iPhone 5.
Est-ce qu’une solution moins onéreuse pourrait être de créer depuis le Mac un réseau wifi qui transmet les infos GPS, comme lors d’un partage de connexion depuis l’iPhone ?
Le truc, c’est que ça ne remplace pas le GPS de l’iPhone dans ce cas-là, même si a priori ça fonctionne en utilisant un iPhone en partage de connexion