Si vous avez essayé de remplacer le client mail par défaut de votre iPhone ou iPad, l’une des nouveautés d’iOS 14, vous aurez sans doute noté que cela ne fonctionne pas systématiquement. Comme nous l’avions écrit dans un précédent article, cela fonctionne même rarement, uniquement dans de rares instances, comme depuis l’app Contacts ou depuis un navigateur web. Dans la majorité des cas, c’est toujours Apple Mail qui s’affiche, même en définissant un autre client mail par défaut.
Le développeur du client Reddit Apollo donne l’explication dans un tweet. Quand on change de client mail par défaut, iOS 14 l’affiche dès que l’on touche une adresse mail détectée automatiquement par le système — par exemple, dans l’app Notes — et tous les liens en mailto:
, un standard issu du web. C’est bien, sauf que les apps tierces utilisent souvent une brique fournie par Apple, qui offre de nombreuses fonctions supplémentaires. Dans son cas, elle est importante, car elle lui permet d’associer des pièces-jointes au message, ce qui n’est pas possible avec une simple URL.
Problème, cette brique n’a pas été mise à jour pour iOS 14 et elle ne sait gérer qu’Apple Mail. Cela explique pourquoi, depuis de nombreuses apps (dont la nôtre), c’est le client mail d’Apple qui s’affichera quel que soit votre choix d’app par défaut pour le remplacer. Et si vous vouliez supprimer Apple Mail pour forcer la main du système, vous aurez un message d’erreur. Pour l’heure, la seule solution disponible pour les développeurs est d’ajouter une condition et de basculer sur un lien mailto:
pour les utilisateurs qui préfèrent un autre client mail, quitte à perdre au passage des fonctions…
Ce problème n’est pas réglé dans la première bêta d’iOS 14.2, pas plus que le bug qui fait que Safari et Apple Mail sont réinitialisés par défaut à chaque redémarrage. Apple donne de plus en plus le sentiment d’avoir ajouté cette option de bien mauvaise grâce. Quoi qu’il en soit, la nouveauté n’est clairement pas prête et on espère que les futures mises à jour d’iOS 14 viendront enfin corriger tous ces bugs.