AFNetworking et Pas de Connexion Internet scénario
- Je utiliser AFNetworking
dans mon app pour chaque demande (comme login, obtenir les données à partir de l'url, etc).
Prendre cela pour exemple: un utilisateur cliquez sur le bouton de connexion et il n'y a pas de connexion, comment faire pour afficher instantanément une UIAlertView
que dit l'erreur? Le seulement façon est d'attendre l'expiration du délai de demande et d'exécuter les failure
bloc? N'est-ce pas là une façon à vérifier instantanément si il y a connexion ou pas?
Merci!
Vous devez vous connecter pour publier un commentaire.
Que de 0,9,
AFHTTPClient
a effectivement un réseau d'accessibilité intégrées (une interface plus simple pour Apple précitées de l'Accessibilité par le code). Il suffit d'inclure lesSystemConfiguration
cadre et l'utilisation-setReachabilityStatusChangeBlock:
pour spécifier une réponse lors de l'accessibilité des changements d'état.AFHTTPClient
moniteurs pour l'accessibilité des changements et exécute le bloc spécifié lorsque cela se produit. Le bloc a un seul argument, qui est un booléen pour savoir si ou non lebaseURL
est accessible.AFHTTPClient
et j'ai surchargé-setReachabilityStatusChangeBlock:
avec unNSLog(@"test")
à l'intérieur, mais l'état n'est jamais exécutée. Pourquoi?#import <SystemConfiguration/SystemConfiguration.h>
à l'en-tête préfixe du projet (Préfixe.pch). C'est une étape obligatoire après l'ajout de SystemConfiguration cadre.setReachabilityStatusChangeBlock:
avant la mise en place d'unJSONRequestOperationWithRequest:success:failure
, est-ce la bonne façon de le faire? si c'est le cas, quand je reçois un statut deAFNetworkReachabilityStatusNotReachable
, comment puis-je annuler l'opération ou l'échec de bloc est automatiquement appelée quand il voit unAFNetworkReachabilityStatusNotReachable
?Avec
AFNetworking
ce sont ces étapes que l'on doit suivre afin de profiter desetReachabilityStatusChangeBlock:
après l'ajout de la AFNetworing classes -SystemConfiguration.framework
à votre projet#import <SystemConfiguration/SystemConfiguration.h>
AFHTTPClient
dans la présente sous-classe ajouter ci-dessous les lignes de code dans la fonction init -Peut-être que vous pourriez utiliser "Accessibilité" afin de déterminer si l'appareil est connecté au réseau.
Voici le lien vers l'Apple Doc. : L'accessibilité
Par exemple :
- Je utiliser le
AFNetworkingOperationDidFinishNotification
.Chaque fois qu'une requête http échoue, le message d'alerte apparaît et informe l'utilisateur
Comment sur l'utilisation de L'accessibilité?
Vous pouvez vérifier si vous avez une raison plausible pour essayer une connexion avant de le faire.
Ressemble à la Apple Exemple de Projet pour l'Accessibilité montre comment obtenir un état initial.