3 votes

Détecter qu'un réseau WiFi a besoin d'être authentifié

J'écris une application iOS qui utilise un service web HTTP pour obtenir ses données. Si un utilisateur est connecté à un réseau WiFi qui exige que l'utilisateur se connecte à l'aide d'une sorte de formulaire web (pensez à Starbucks ou au Wi-Fi dans les aéroports), mon application échoue avec une erreur 500.

Je constate que Safari peut détecter cette situation et lancer la page d'authentification pour l'utilisateur. Y a-t-il une norme que je puisse utiliser pour fournir cette expérience, ou au moins montrer à l'utilisateur un message lui demandant d'ouvrir Safari et de se connecter ?

1voto

Frank Points 5808

Vous pouvez essayer avec cette version de accessibilité ...

Il propose des méthodes intéressantes qui peuvent vous aider à démarrer :

// WWAN may be available, but not active until a connection has been established.
// WiFi may require a connection for VPN on Demand.
-(BOOL)isConnectionRequired; // Identical DDG variant.
-(BOOL)connectionRequired; // Apple's routine.
// Dynamic, on demand connection?
-(BOOL)isConnectionOnDemand;
// Is user intervention required?
-(BOOL)isInterventionRequired;

1voto

Cyrille Points 11109

La méthode de base est la suivante : essayez de télécharger un fichier quelque part, dont vous savez qu'il ne bougera jamais et dont vous connaissez déjà le contenu. Comparez le contenu téléchargé avec le contenu qui devrait être téléchargé, et vous saurez si vous êtes sur un hotspot captif ou non.

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