sol*_*eil 12 location ip-address cllocationmanager ios nslocale
我不需要精确的位置数据,我不希望用户看到"此应用程序想要确定您的位置"警报.我只需要确定用户的国家/地区,假设他们通过网络或Wi-Fi连接互联网.
做这个的最好方式是什么?有没有办法使用他们的IP?
这只有在有承运人的情况下才有效:
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];
Run Code Online (Sandbox Code Playgroud)
并且NSLocale用户可以在其设备设置中更改它并不可靠.出于同样的原因,无法使用设备的语言设置.我需要国家根据他们的实际所在地.
您可以获取用户的 IP 地址并使用地理位置数据库根据此处所述猜测他们的位置:https: //en.wikipedia.org/wiki/IP_address_location。如果您只关心地区,您可能可以在地区互联网注册机构 ( https://en.wikipedia.org/wiki/Regional_Internet_registry ) 网站上找到一些数据来帮助您,因为它们控制特定地区的所有 IP 地址。
| 归档时间: |
|
| 查看次数: |
3666 次 |
| 最近记录: |