【发布时间】:2013-07-09 02:39:15
【问题描述】:
我不需要精确的位置数据,也不希望用户看到“此应用程序想要确定您的位置”警报。我只需要确定用户所在的国家/地区,假设他们通过网络或 wi-fi 连接到互联网。
最好的方法是什么?有什么方法可以使用他们的 IP 吗?
这只有在他们有运营商的情况下才有效:
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];
而且NSLocale 不可靠,因为用户可以在他们的设备设置中更改它。出于同样的原因,无法使用设备的语言设置。我需要根据他们实际所在的国家/地区。
【问题讨论】:
-
由于用户可能处于飞行模式或未连接到网络,或者用户可能正在使用代理,因此无法保证您可以从网络中获得准确的信息。
标签: ios location ip-address cllocationmanager nslocale