43 Stimmen

Erreichbarkeitsleitfaden für iOS

Hat jemand eine halbwegs brauchbare Anleitung zur Implementierung von Reachability auf iOS gefunden?

95voto

enbr Punkte 1203

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

2voto

yabtzey Punkte 391

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.

0voto

Auf diese Frage scheint es nur veraltete Antworten zu geben. Seit iOS 12 haben wir NWPathMonitor Sie sollten sich also zumindest auch damit befassen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X