Ich weiß, dass diese Frage von vielen anderen betrogen zu sein scheint, aber ich glaube nicht, dass der einfache Fall hier gut erklärt ist. Wenn Sie von einem Android- und BlackBerry-Hintergrund kommen, schlagen Anfragen HTTPUrlConnection
sofort fehl, wenn keine Verbindung verfügbar ist. Dies scheint ein völlig vernünftiges Verhalten zu sein, und ich war überrascht, dass es NSURLConnection
in iOS nicht emuliert wurde.
Ich verstehe, dass Apple (und andere, die es erweitert haben) eine Reachability
Klasse zur Unterstützung der Ermittlung des Netzwerkstatus bereitstellt . Ich war froh, dies zuerst zu sehen und erwartete, so etwas zu sehen bool isNetworkAvailable()
, aber zu meiner Überraschung fand ich ein komplexes System, das Benachrichtigungsregistrierungen und Rückrufe sowie eine Reihe scheinbar unnötiger Details erforderte. Es muss einen besseren Weg geben.
Meine App behandelt Verbindungsfehler bereits ordnungsgemäß, einschließlich fehlender Konnektivität. Der Benutzer wird über den Fehler benachrichtigt und die App wird fortgesetzt.
Daher sind meine Anforderungen einfach: Einzelne, synchrone Funktion, die ich vor allen HTTP-Anforderungen aufrufen kann, um festzustellen, ob ich die Anforderung tatsächlich senden soll oder nicht. Im Idealfall ist keine Einrichtung erforderlich und es wird nur ein Boolescher Wert zurückgegeben.
Ist das unter iOS wirklich nicht möglich?