Domanda

Fondamentalmente ho bisogno di identificare paese dell'utente all'avvio dell'applicazione e attivare o disattivare una funzione basata posizione nella mia app basato sulla sua / il suo paese. Ho bisogno di fare questo il più rapidamente possibile nel delegato applicazione prima del caricamento del RootViewController. C'è comunque di fare questo in iPhone SDK ??

È stato utile?

Soluzione

Avete bisogno il nome del paese che il dispositivo si trova fisicamente nel mentre l'applicazione è in esecuzione?

In alternativa si potrebbe fare che fare con il sistema locale il dispositivo sta usando come it_IT o fr_CA?

In quest'ultimo caso, è possibile:

NSLocale *currentUsersLocale = [NSLocale currentLocale];  
NSString *currentLocaleID = [currentUsersLocale localeIdentifier];`

Poi currentLocaleID sarà "en_US" o "fr_CA" o simili.

In caso contrario dovrete usare CoreLocation e una qualche forma di Reverse Geocoder per convertire il vostro / Lat Long in un nome del paese.

MKReverseGeocoder può fare questo, ma i termini di servizio dire è necessario essere farlo in combinazione con una mappa di Google, che non si può soddisfare. Disponibile solo su OS 3.0 e sopra, cerca la documentazione per MKReverseGeocoder per maggiori informazioni.

Avevo bisogno di questo me stesso e finito per fare Geocoding in PHP sul nostro server, utilizzando l'indirizzo IP del dispositivo. E 'rudimentale, ma ci ha dato abbastanza dettagli per le nostre esigenze.

Dai un'occhiata a questo servizio web: http://ws.geonames.org/ FindNearby? lat = 47.3 & lng = 9
Che restituisce un documento XML con paese e luogo vicino nomi dati un lat / lng coppia.

Tale approccio si basa sul dispositivo avente una connessione dati attiva però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top