Le Digital Markets Act (DMA), qui est spécifique aux pays de l’Union européenne, oblige Apple et les autres constructeurs à avoir plus de concurrence. Sur iPhone par exemple, cela implique d’avoir des App Store tiers, des moteurs de rendu différents sur les navigateurs Internet, une ouverture de la puce NFC et le choix des navigateurs au lieu de Safari. Mais comment faire pour avoir tout cela quand on n’est pas Européen ?

iOS Safari App Store Logos

Adam Demasi est un développeur habitant en Australie et n’a donc pas accès aux fonctionnalités liées au DMA. Et pourtant, il a trouvé une parade pour que l’iPhone et Apple pensent qu’il se situe bien dans un pays de l’Union européen, ce qui lui donne les accès.

Il faut savoir que le simple fait d’avoir un compte Apple européen ne suffit pas. En effet, Apple a mis en place des systèmes de vérification qui vont plus loin que ça.

Faire croire à l’iPhone que l’on est en Europe

Adam Demasi explique qu’Apple télécharge un nouveau fichier Plist pour déterminer dans quelle partie du monde se trouve un iPhone, puis utilise ce fichier pour décider des fonctionnalités disponibles. Il comprend 24 domaines qui ont des noms d’éléments chimiques (en anglais) et chacun correspond à une fonctionnalité. Voici quelques exemples :

  • Hydrogen : installation des applications venant des App Store tiers
  • Helium : mise à jour et restauration des applications venant des App Store tiers
  • Lithium : mise à jour et restauration des moteurs de rendu des applications
  • Beryllium : désactiver les web apps sur l’écran d’accueil
  • Nitrogen : afficher un écran de choix pour les navigateurs Internet

Le développeur a d’abord tenté de restaurer un iPhone 12 Pro Max, puis de désactiver les services de localisation, d’insérer une vieille carte SIM d’un opérateur italien et de créer un nouveau compte Apple italien. Ça n’a pas marché.

Il a ensuite configuré un routeur Wi-Fi pfSense pour faire croire qu’il était connecté sur un réseau italien. Mais là encore, le composant countryd d’iOS (qui a fait ses débuts avec iOS 16.2) a détecté qu’il était en réalité en Australie.

Vient alors la dernière tentative :

La dernière chose que j’ai essayée a été de descendre dans notre sous-sol, où il n’y a pas de signal mobile. Je réinitialise à nouveau le téléphone et, dès que j’ouvre Safari, il me demande de choisir un navigateur. Je mets le téléphone en mode avion pour pouvoir retourner à l’étage. Pour autant que je sache, il croit toujours que je suis en Italie.

La solution de contournement fonctionne, mais elle est loin d’être idéale. Dès que l’iPhone se connectera à une antenne mobile, il saura qu’il n’est plus en Italie et ce sera fini. La connexion de l’iPhone à un autre réseau Wi-Fi aura probablement le même effet.

« Ce téléphone n’est manifestement pas pratique à utiliser dans cet état », reconnaît le développeur. « Il doit rester en mode avion et a besoin d’un réseau Wi-Fi configuré pour se présenter comme ayant un pays réglementé par l’UE. Ce n’est vraiment qu’une configuration que je peux utiliser pour tester les fonctionnalités de l’UE ».