我不需要精确的位置数据,也不希望用户看到“此应用程序想要确定您的位置”警报。我只需要确定用户所在的国家/地区,假设他们通过网络或Wi-Fi连接到互联网。
有什么最好的方法可以实现这一点吗?是否有一些方法可以使用他们的IP地址?
只有当他们有运营商时,这种方法才有效:
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];
而且NSLocale
并不可靠,因为用户可以在设备设置中更改它。出于同样的原因,无法使用设备的语言设置。我需要根据他们物理位置所在的国家。