Hat jemand eine halbwegs brauchbare Anleitung zur Implementierung von Reachability auf iOS gefunden?
Antworten
Zu viele Anzeigen?Ich habe Reachability wie folgt implementiert. Herunterladen https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html und fügen Sie Reachability.h und .m zu Ihrem Projekt hinzu. Fügen Sie das SystemConfiguration-Framework zu Ihrem Projekt hinzu. #importieren Sie "Reachability.h" an der Stelle, an der Sie es verwenden möchten. Verwenden Sie diesen Code.
-(BOOL)reachable {
Reachability *r = [Reachability reachabilityWithHostName:@"enbr.co.cc"];
NetworkStatus internetStatus = [r currentReachabilityStatus];
if(internetStatus == NotReachable) {
return NO;
}
return YES;
}
Wenn Sie die Erreichbarkeit prüfen wollen...
if ([self reachable]) {
NSLog(@"Reachable");
}
else {
NSLog(@"Not Reachable");
}
Hier ist das Beispielprojekt, das ich gemacht habe. http://dl.dropbox.com/u/3656129/ReachabilityExample.zip
Ich denke, der beste Weg, um die Verfügbarkeit der Host-Adresse zu überprüfen, ist die Überprüfung der Ergebnisse der NSURL-Anfrage.
NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:reqURL]];
NSURLResponse *resp = nil;
NSError *error = nil;
NSData *response = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &resp error: &error];
NSString *responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
Wenn Ihr Gerät die angegebene URL nicht erreichen kann, gibt es eine Ausgabe in die Fehlervariable, wenn es auf die URL-Anfrage zugreifen kann, ist der Fehler Null.
Die Erreichbarkeit gibt ein positives Ergebnis, auch wenn die URL-Pakete von Ihrem Gerät ausgehen können und den Host-Server nie erreichen.
Auf diese Frage scheint es nur veraltete Antworten zu geben. Seit iOS 12 haben wir NWPathMonitor Sie sollten sich also zumindest auch damit befassen.