La configuration de l'accessibilité d'AFNetworking 2.0
Je suis en train de configuration de l'Accessibilité par le biais de la nouvelle 2.0 AFNetworking.
Dans mon AppDelegate je l'initialisation du sharedManager.
//Instantiate Shared Manager
[AFNetworkReachabilityManager sharedManager];
Puis dans le VC méthode-je vérifier pour voir si isReachable:
//Double check with logging
if ([[AFNetworkReachabilityManager sharedManager] isReachable]) {
NSLog(@"IS REACHABILE");
} else {
NSLog(@"NOT REACHABLE");
}
À l'heure actuelle cela ne fonctionne pas comme prévu dans le simulateur, mais j'imagine que cela devrait être testé sur l'appareil et non pas sur simulateur.
Question
Ce que je voudrais faire est de surveiller la connectivité au sein de la VC. J'ai donc exécuter la ligne suivante dans le viewDidLoad:
//Start monitoring the internet connection
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
Comment puis enregistrer les modifications? Quel est/sera appelée une fois que les modifications de la connexion réseau, je ne vois pas ce à partir de la documentation.
- juste pour info, vous pouvez supprimer le code dans votre AppDelegate, où vous dites que vous instanciez le sharedManager. SharedManager est un objet Singleton de sorte que vous pouvez simplement l'utiliser directement. La première fois que vous utilisez le gestionnaire de faire quoi que ce soit concernant l'état du réseau (isReachable, startMonitoring, setReachabilityStatusChangeBlock), le Singleton sera de retour soit une nouvelle ou exactement la même instance. L'instanciation à l'avance, comme vous le faites, ne pas vraiment faire quelque chose d'utile.
- Vous avez raison, merci pour ce spot.
- Puis-je utiliser AFNetworking bibliothèque pour swift ?
Vous devez vous connecter pour publier un commentaire.
Comme vous pouvez le lire dans le AFNetworking de me lire en page
Voici également un lien vers la documentation officielle.
startMonitoring
va commencer le suivi de la connectivité de l'état (duh!) et le bloc sera appelée à chaque changement.J'ai un singleton AFHTTPRequestOperationManager classe. Dans le singleton a une méthode:
}
Avant de faire une demande, vous appelez cette méthode qui retourne un bloc indiquant si internet est accessible:
J'allais juste par le biais de votre question et de toutes les réponses. Après que j'ai décidé de faire toutes ces choses à la fois. Donc, dans mon projet, j'ai juste inclus le AFNetworking par le biais de cacao-pods et ici est la solution qui marche pour moi complètement.
Solution-tout d'Abord AFNetworkReachabilityManager est une classe singleton. Vous n'avez pas besoin de faire AppDelegate d'initialisation pour sharedManager.
Donc, dans ce cas chaque fois que le périphérique se connecte à un réseau, il va faire la startMonitoring d'abord le processus et après qu'il a frappé le bloc d'état à chaque fois et l'affichage d'alerte en fonction de l'état.
Vous pouvez faire quelque chose selon votre choix en remplaçant les alertes sur l'état du bloc. J'ai utilisé pour charger une page web automatiquement à partir des locaux de stockage, mais j'ai enlevé le code pour des raisons de simplicité.
Ses même en travaillant avec mon simulateur et Mac mini..
Grâce
Espère que cela a aidé.
- Je utiliser le délégué d'application ->
Et puis ceci dans le fichier de base ->