Desidero ricevere una notifica quando accedo all'area di roaming nella mia app iOS, ho già letto la documentazione per NSLocale
, SCNetworkReachability
e la telefonia principale (potrebbe essermi sfuggito qualcosa). Ho bisogno di ottenere queste informazioni da sim (o in qualsiasi altro modo, se possibile).Come ottenere lo stato di roaming in IOS
risposta
Non ci sono API iOS per rilevare lo stato di roaming, ma è possibile utilizzare servizi di terze parti come http://ipinfo.io (il mio servizio) per scoprire il paese corrente del codice di vettore pari in base all'indirizzo IP del dispositivo. È quindi possibile confrontarlo con i dettagli di CTCarrier per determinare se il dispositivo è in roaming. Ecco la risposta ipinfo.io API standard:
$ curl ipinfo.io/24.32.148.1
{
"ip": "24.32.148.1",
"hostname": "doc-24-32-148-1.pecos.tx.cebridge.net",
"city": "Pecos",
"region": "Texas",
"country": "US",
"loc": "31.3086,-103.5892",
"org": "AS7018 AT&T Services, Inc.",
"postal": "79772"
}
pacchetti personalizzati sono disponibili che includono anche i dettagli MNC/mcc di indirizzi IP mobili però. Vedi http://ipinfo.io/developers per i dettagli.
Come funziona con VPN? –
Funzionerà solo quando ci si connette alla rete cellulare, senza VPN. È possibile rilevare se l'utente è su wifi/cellulare utilizzando le API iOS, e la risposta ipinfo.io indicherà anche se si tratta di una connessione cellulare o meno. –
Il metodo abituale sarebbe quello di ottenere il codice del paese del corriere dall'interfaccia di telefonia principale e quindi confrontarlo con il codice del paese dal geocoding inverso della posizione.
Vantaggi: funziona con VPN e quando l'utente ha disabilitato i dati durante il roaming. Svantaggi: non funziona senza posizione.
Non ho alcun codice non diritti d'autore per voi, ma la chiave è necessario nei marchi posto dizionario il necessario per il codice paese è @ "CountryCode" Geocoding sarebbe qualcosa di simile: -
CLGeocoder* geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:location completionHandler: ^(NSArray* placemarks){}]
il codice del paese per il provider sarebbe
NSString* homeCountry = [netInfo.subscriberCellularProvider isoCountryCode];
Spero che questo aiuti
ma, quando sono all'estero, isoCountryCode è ancora lo _same_ come il countrycode di geocodelocation invertito ... quindi per esempio se vado in Germania, CoreTelephony restituisce "de", e il mio reverseGeoCodeLocation restituisce anche "de", quindi sono * non * roaming? – dOM
- 1. Esistono modi per rilevare lo stato di roaming su iOS 6?
- 2. Come ottenere lo stato di download?
- 3. Ottenere lo stato di JToggleButton
- 4. Come fa 'ottenere' effettivamente/ottenere/lo stato iniziale in Haskell?
- 5. Ottenere lo stato del sistema in python
- 6. Ottenere lo stato di uno std :: future
- 7. Come ottenere lo stato della rete del sistema in Qt?
- 8. Come ottenere lo stato del caricamento del file in Flask
- 9. Come ottenere lo stato corrente di una connessione websocket javascript
- 10. Come ottenere lo stato di "Invoke-Expression", riuscito o fallito?
- 11. iPhone iOS: come rilevare quando ci si trova in roaming? (Non per i telefoni con jailbreak)
- 12. Come ottenere lo stato di build da GitLab CI?
- 13. Come posso ottenere lo stato di download <script>?
- 14. Ottenere lo stato dell'istanza EC2 API Java
- 15. Come ottenere il corretto livello della batteria e lo stato della batteria-ios?
- 16. Ottenere lo stato dello schermo usando ADB
- 17. Come ottenere lo stato corrente dalla classe bbv.Common.StateMachine (ora Appccelerate.StateMachine)?
- 18. Come resettare lo stato dell'animazione?
- 19. Come posso ottenere lo stato della suoneria/stato silenzioso di un dispositivo tramite Cordova?
- 20. come ottenere lo stato online mobile dell'utente di Facebook usando lo smack?
- 21. Come mantenere lo stato precedente di un'attività
- 22. Lo stato di RDF in Ruby
- 23. come cambio correttamente lo stile della barra di stato in swift 2/iOS 9?
- 24. Trova lo stato di avanzamento di un file in swift
- 25. Che cosa significa "roaming", tecnicamente?
- 26. Come mantenere lo stato in angolare 2?
- 27. Come gestire lo stato in REST
- 28. come impostare lo stato iniziale in redux
- 29. Come ottenere i dati dell'accelerometro in IOS?
- 30. Come si ottiene lo stato della stampante?
controllo questa domanda due http://stackoverflow.com/questions/900547/is-there-any-way-to-determi ne-if-the-iphone-is-roaming e http://stackoverflow.com/questions/12473490/is-there-any-ways-to-detect-the-roaming-status-on-ios-6 –
condividi il codice ... che hai provato fino ad ora – madLokesh
fino ad ora, ho provato rintracciando l'indirizzo IP e poi chiamando un servizio web che può darmi la posizione di quell'IP, ma non suppongo di usare il servizio web. Posso usare il codice del paese mobile della telefonia principale per confrontare il codice del paese. 2) la seconda limitazione è che, per queste informazioni, dobbiamo affidarci alla SIM, come ottenere informazioni dalla sim – Rana