Ich brauche keine genauen Standortdaten, und ich möchte nicht, dass der Benutzer die Warnung "Diese App möchte Ihren Standort ermitteln" anzeigt. Ich muss nur das Land des Benutzers bestimmen, vorausgesetzt, sie haben eine Internetverbindung über das Netzwerk oder Wi-Fi.iOS - Ermitteln Sie das Land des Benutzers, ohne CLLocationManager zu verwenden
Was ist der beste Weg, dies zu tun? Gibt es eine Möglichkeit, ihre IP zu verwenden?
Dies würde nur funktionieren, wenn sie einen Träger haben:
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];
Und NSLocale
ist nicht zuverlässig, dass in dem Benutzer kann es Einstellungen in ihrem Gerät ändern. Die Spracheinstellung des Geräts kann aus dem gleichen Grund nicht verwendet werden. Ich brauche das Land basierend darauf, wo sie sich physisch befinden.
Da ein Benutzer im Flugzeugmodus sein könnte oder nicht mit einem Netzwerk verbunden ist, oder der Benutzer könnte mit ein Proxy, es gibt keine Garantie, dass Sie genaue Informationen aus dem Netzwerk erhalten können. – rmaddy