Je sais que cette question va sembler être une copie de beaucoup d'autres, cependant, je ne pense pas que le cas simple soit bien expliqué ici. Je viens d'un milieu Android et BlackBerry, faire des demandes par le biais de HTTPUrlConnection
échoue instantanément s'il n'y a pas de connexion disponible. Cela semble être un comportement tout à fait sain, et j'ai été surpris de constater que NSURLConnection
dans iOS ne l'a pas émulé.
J'ai cru comprendre qu'Apple (et d'autres qui l'ont étendu) fournit un service d'aide à l'emploi. Reachability
pour aider à déterminer l'état du réseau. J'étais heureux de voir cela pour la première fois et je m'attendais à voir quelque chose comme bool isNetworkAvailable()
Mais au lieu de cela, à ma grande surprise, j'ai trouvé un système complexe nécessitant des enregistrements de notifications et des rappels, ainsi qu'un tas de détails apparemment inutiles. Il doit y avoir une meilleure solution.
Mon application gère déjà gracieusement les échecs de connexion, y compris l'absence de connectivité. L'utilisateur est informé de l'échec et l'application poursuit son chemin.
Mes exigences sont donc simples : Une fonction unique et synchrone que je peux appeler avant toutes les requêtes HTTP pour déterminer si je dois prendre la peine d'envoyer la requête ou non. Idéalement, elle ne nécessite aucune configuration et renvoie simplement un booléen.
Est-ce que ce n'est vraiment pas possible sur iOS ?