Jak sprawdzić aktywne połączenie internetowe na iOS lub macOS?

Chciałbym sprawdzić, czy mam połączenie z Internetem na iOS za pomocąCocoa Touch biblioteki lub na MacOS za pomocąKakao biblioteki.

Wymyśliłem sposób, aby to zrobić za pomocąNSURL. Sposób, w jaki to zrobiłem, wydaje się nieco niewiarygodny (ponieważ nawet Google może pewnego dnia zostać w dół i poleganie na stronie trzeciej wydaje się złe), a gdy mogłem sprawdzić, czy nie ma odpowiedzi z innych stron internetowych, jeśli Google nie odpowie, to wydaje się marnotrawstwem i niepotrzebnym obciążeniem na mojej aplikacji.

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

Czy to, co zrobiłem źle, (nie wspominającstringWithContentsOfURL jest przestarzałe w iOS 3.0 i macOS 10.4), a jeśli tak, jaki jest lepszy sposób na osiągnięcie tego celu?

questionAnswers(30)

yourAnswerToTheQuestion