Obwohl meine App ohne Internetverbindung verwendet werden kann, kann sie Daten mit einem Webserver austauschen (um einige Benutzerstatistiken anzuzeigen). Also mache ich Werbung für die App als "benötigt keine Internetverbindung". Einige Benutzer haben daraufhin Mobilfunkdaten für meine App deaktiviert, was völlig in Ordnung sein sollte. Wenn meine App versucht, Daten auszutauschen, werden diese Benutzer jedoch mit dem Hinweis "Mobilfunkdaten sind deaktiviert für [Anwendungsname]" abgehört. Dialog.Wie kann ich feststellen, ob der Nutzer die Mobilfunkdaten für meine App deaktiviert hat?
Das ist ein Ärgernis für sie, und ich möchte diese Dialoge verhindern und einfach die gesamte Datenaustausch Sache überspringen.
Es gibt Apple's Reachability Sample Code.
Aber obwohl ich WiFi für das gesamte Gerät und Mobilfunkdaten für die App ausgeschaltet habe, bestätigt Erreichbarkeit eine positive Internetverbindung. Um genauer zu sein, es berichtet
Reachability Flag Status: WR t------ networkStatusForFlags
egal, ob ich Mobilfunkdaten aktiviert oder nicht. Wenn Mobilfunkdaten deaktiviert sind, ist natürlich keine Internetverbindung verfügbar, so dass der Datenaustausch fehlschlägt. Aber dem Benutzer wird sowieso der Mobilfunkdaten-Dialog angezeigt.
Gibt es eine Möglichkeit festzustellen, ob eine Internetverbindung unter iOS 7 und iOS 8 verfügbar ist, unter Berücksichtigung der Mobilfunkdaten für eine bestimmte App - ohne den Benutzer jedes Mal erneut mit dem Mobilfunkdaten-Dialog zu belästigen?
Meine App wird derzeit ohne Einstellungsfenster ausgeliefert. Daher möchte ich die Einrichtung eines (zweiten, In-App-) Schalters "keine Mobilfunkdaten verwenden" vermeiden. Außerdem möchte ich den Datenaustausch nicht auf eine WiFi-Verbindung beschränken, da es nur 2 KB Daten pro Sitzung gibt, was für die meisten Benutzer keine große Sache ist.
Erreichbarkeits nicht, es meldet falsch "erreichbar" funktioniert. – cat