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 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...