iOS – 是美国的用户?

前端之家收集整理的这篇文章主要介绍了iOS – 是美国的用户?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法让我检测用户是否在美国而不询问他们的位置?例如,当我在我的计算机上访问Fandango时,它知道我所在的县和州只是基于我的WiFi.

如果我有一台设备,也许是没有GPS的iPod Touch,我想验证它是在美国,它们是连接到WiFi …或者如果我有一台iPhone并且它已连接到3G和我想确保用户在美国,有没有一种方法我可以检查该信息而没有一点警报视图“__想要使用您当前的位置”?我不需要确切的坐标,我只需要确认这些用户是在美国(包括夏威夷和阿拉斯加州)……当地?

解决方法

我首先会尝试检查操作符的 Mobile Country Code.它会告诉您用户的移动电话服务提供商的数字移动国家/地区代码,除非他们切换到其他国家/地区的服务提供商,否则用户无法更改.
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>

CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];

这当然不适用于未连接到移动操作符(iPod Touch,某些iPad等)的设备.因此,作为后退,我会使用或创建自己的IP geolocation API.您可以获得在国家/地区级别上准确率为99.5%的free database.这将非常适合检测没有移动提供商的设备的国家/地区.

猜你在找的iOS相关文章