Sebbene la mia app sia utilizzabile senza alcuna connessione Internet, potrebbe scambiare dati con un server web (per mostrare alcune statistiche degli utenti). Quindi pubblicizzo l'app come "non ha bisogno di connessione internet". Alcuni utenti hanno successivamente disattivato i dati cellulari per la mia app, che dovrebbe essere completamente soddisfacente. Ma quando la mia app cerca di scambiare dati, questi utenti sono infettati da "I dati cellulari sono disattivati per [Nome app]". dialogo.Come sapere se l'utente ha disattivato i dati della cella per la mia app?
Questo è un fastidio per loro e voglio impedire queste finestre di dialogo e saltare semplicemente l'intera cosa di scambio di dati.
C'è Apple's Reachability Sample Code.
Tuttavia, anche se ho disattivato la connessione Wi-Fi per l'intero dispositivo e i dati della rete per l'app, Reachability conferma una connessione Internet positiva. Per essere più precisi, si riferisce
Reachability Flag Status: WR t------ networkStatusForFlags
non importa se ho attivato dati cellulare o meno. Ovviamente, quando i dati della rete cellulare sono disattivati, nessuna connessione Internet è effettivamente disponibile, quindi lo scambio di dati fallisce. Ma l'utente viene comunque presentato con la finestra di dialogo dei dati cellulari.
C'è un modo per rilevare se una connessione Internet è disponibile su iOS 7 e iOS 8, tenendo conto delle impostazioni dei dati cellulari per un'app specifica - il tutto senza bugging l'utente ogni volta di nuovo con la finestra di dialogo dati cellulare?
La mia app al momento non ha alcun pannello delle impostazioni, quindi voglio evitare di impostare uno (secondo, in-app) interruttore "non utilizzare dati cellulare". Inoltre, non voglio limitare lo scambio di dati a una connessione WiFi poiché è solo un 2 KB di dati per sessione che non è una grande cosa per la maggior parte degli utenti.
raggiungibilità non funziona, si segnala in modo errato "raggiungibile". – cat