Appels téléphoniques sur iOS : les WebView pas au niveau de Safari

Stéphane Moussie |

Quand vous passez un coup de fil avec votre iPhone, le système affiche tantôt une alerte demandant confirmation, tantôt rien du tout et démarre l'appel immédiatement. Le développeur Andrei Neculaesei pointe une faiblesse dans la façon dont iOS et les apps gèrent cette action.

La confirmation est en fait demandée en fonction de l'app que vous utilisez. Quand vous passez un coup de fil depuis le carnet d'adresses ou l'application Téléphone, l'appel se fait directement. Depuis Safari, quand vous tapotez sur un lien téléphonique dans une page web, iOS affiche d'abord une fenêtre demandant confirmation. Cette mesure est utile car elle permet d'éviter d'appeler par mégarde un numéro de téléphone surtaxé caché derrière une banale URL — une page web est en effet capable de démarrer toute seule un appel avec seulement quelques lignes de JavaScript.

Or, le pop-up de confirmation ne s'affiche pas par défaut dans les WebView, c'est-à-dire le navigateur interne des applications. Si vous recevez un lien derrière lequel se cache un numéro de téléphone automatique dans l'application Facebook Messenger et que vous tapotez dessus, l'appel va démarrer directement, sans vous demander votre confirmation. Embêtant s'il s'agit d'un numéro surtaxé.

Des applications très populaires comme Facebook Messenger, Gmail et Google+ sont concernées. La faute à qui ? Aux développeurs, estime Andrei Neculaesei, puisqu'il est clairement écrit dans la documentation que les WebView ne demandent pas de confirmation, mais qu'il est possible de changer ce comportement. Toutefois, cette faiblesse repose aussi en partie sur Apple, puisque le pop-up de confirmation pourrait être le réglage par défaut des WebView d'iOS plutôt que de demander aux développeurs de s'en occuper au cas par cas.

Facebook a indiqué à TechRadar qu'une mise à jour allait corriger ce comportement.

Accédez aux commentaires de l'article