Wie überprüfen Sie, ob eine aktive Internet-Verbindung auf Ihrem iOS-oder macOS?

Ich würde gerne überprüfen, um zu sehen, ob ich eine Internetverbindung haben, auf iOS mit dem Cocoa Touch Bibliotheken oder auf macOS mit dem Kakao Bibliotheken.

Ich kam mit einem Weg, dies zu tun mit einem NSURL. Die Art, wie ich es Tat, es scheint ein wenig unzuverlässig, weil auch Google könnte eines Tages down sein und sich auf eine Dritte Partei scheint schlecht), und während ich überprüfen könnte, um zu sehen, für eine Antwort von einigen anderen websites, wenn Google nicht reagiert, scheint es verschwenderisch und ein unnötiger overhead auf meine Bewerbung.

- (BOOL) connectedToInternet
{
    NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
    return ( URLString != NULL ) ? YES : NO;
}

Ist, was habe ich schlecht gemacht, (nicht zu erwähnen stringWithContentsOfURL ist veraltet in iOS 3.0 und macOS 10.4) und wenn ja, was ist ein besserer Weg, dies zu erreichen?

Eher return (BOOL)URLString; oder noch besser return !!URLString oder return URLString != nil
Ich weiß nicht, was Ihre Nutzung Fall ist, aber wenn Sie es vorziehen, um zu versuchen, die Anforderung und handle etwaige Fehler wie z.B. eine fehlende Verbindung, die entstehen. Wenn Sie dies nicht tun, dann gibt es viele gute Ratschläge hier in diesem Fall.
Deine Lösung ist clever, und ich es lieber. Sie können auch NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"https://twitter.com/getibox"] encoding:NSUTF8StringEncoding error:nil]; Um loszuwerden, das lästige Warnung.
versuchen Sie es mit der Erreichbarkeit-Klasse aus dem untenstehenden link, es wird für Sie arbeiten github.com/tonymillion/Reachability
Für diejenigen, die vor kurzem, finden Sie diese Antwort: stackoverflow.com/a/8813279

InformationsquelleAutor Brock Woolf | 2009-07-05

Schreibe einen Kommentar