Verwenden Sie die Erreichbarkeit für Internet * oder * lokales WLAN?

Ich habe SO nach der Antwort auf diese Frage gesucht und sie ist nicht wirklich angesprochen, zumindest nicht bis zu einem Punkt, an dem ich sie zum Laufen bringen kann.

Ich habe ursprünglich nur die Erreichbarkeit des Internets überprüft, indem ich Folgendes verwendet habe:

self.wwanReach = [Reachability reachabilityWithHostName:@"www.apple.com"];
[wwanReach startNotifer];

Ich muss jetzt eine lokale WiFi-Verbindung unterstützen (da ich im Allgemeinen nicht auf das Internet zugreifen kann) und als ich @ fa+reachabilityForLocalWiFi, Mir ist auch aufgefallen, dass es @ g+reachabilityForInternetConnection. Ich dachte, ich könnte diese verwenden, anstatt hart zu codieren"www.apple.com" drin, aber leider, wenn ich benutze:

self.wwanReach = [Reachability reachabilityForInternetConnection];
[wwanReach startNotifer];
self.wifiReach = [Reachability reachabilityForLocalWiFi];
[wifiReach startNotifer];

der von mir festgelegte Erreichbarkeits-Rückruf wird "nie" abgerufen, für Werte von "nie" bis zu 10, 12, 15 Minuten oder so (was so lange gedauert hat, wie meine Geduld gedauert hat. (Die Geduld des Benutzers wird viel geringer sein, Ich bin mir sicher.) Zurückschalten auf + reachabilityWithHostName: Funktioniert innerhalb von Sekunden. Ich habe auch jedes "Paar" einzeln ausprobiert, falls ein Problem mit zwei Benachrichtigungen gleichzeitig aufgetreten ist, aber das hat keinen Unterschied gemacht.

So:Was ist der geeignete Weg, um die Erreichbarkeit für das Internet / WWAN oder ein lokales Wifi-Netzwerk (eines oder beide) zu bestimmen?

[Bei diesem speziellen Anwendungsfall handelt es sich um ein iPhone oder iPad, das mit einem Mac Mini-Netzwerk von Computer zu Computer verbunden ist. Ich bin sicher, dass andere Situationen zutreffen.]

Antworten auf die Frage(4)

Ihre Antwort auf die Frage