Je sais que cette question semblera être une dupe de beaucoup d'autres, cependant, je ne pense pas que le cas simple soit bien expliqué ici. Venant d'un arrière-plan Android et BlackBerry, les demandes HTTPUrlConnection
échouent instantanément s'il n'y a pas de connexion disponible. Cela semble être un comportement complètement sensé, et j'ai été surpris de constater que NSURLConnection
iOS ne l'avait pas émulé.
Je comprends qu'Apple (et d'autres qui l'ont étendu) fournissent une Reachability
classe pour aider à déterminer l'état du réseau. J'étais heureux de voir cela pour la première fois et je m'attendais vraiment à voir quelque chose comme bool isNetworkAvailable()
, mais à ma grande surprise, j'ai trouvé un système complexe nécessitant des enregistrements de notification et des rappels, et un tas de détails apparemment inutiles. Il doit y avoir un meilleur moyen.
Mon application gère déjà correctement les échecs de connexion, y compris l'absence de connectivité. L'utilisateur est informé de l'échec et l'application continue.
Ainsi, mes exigences sont simples: une fonction synchrone unique que je peux appeler avant toutes les requêtes HTTP pour déterminer si je devrais prendre la peine d'envoyer la requête ou non. Idéalement, il ne nécessite aucune configuration et renvoie simplement un booléen.
N'est-ce pas vraiment possible sur iOS?