是否有可能欺骗网络提供商就好像可以欺骗iOS中的位置一样?
我有一个应用程序可以使用核心位置获取用户的ISO国家/地区代码,但我希望在用户不为我的应用程序授权位置服务时进行回退。
我有一个被调用的功能,以便根据其运营商设置用户的国家/地区;见下文。
- (void)carrierBasedLocationSet {
if (DefaultCountryCode && ![DefaultCountryCode isEqualToString:@"Default"]) {
////NSLog(@"Skip Carrier Based Location set : DefaultCountryCode is [%@]", DefaultCountryCode);
return;
}
/***********************************
* Set country code based on Carrier
***********************************/
CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
Carrier = [networkInfo subscriberCellularProvider];
NSString *isoCountryCode = Carrier.isoCountryCode;
if (isoCountryCode == nil || isoCountryCode.length == 0) {
isoCountryCode = [[NSLocale currentLocale] objectForKey:NSLocaleCountryCode];
}
self.ISO_CountryCode = [isoCountryCode uppercaseString];
self.CarrierBased_ISO_Country = self.ISO_CountryCode;
}
此代码可以运行并生成US,这就是我所在的位置。但是,我想针对不同的国家进行测试。例如,简单地编辑产品方案以欺骗在澳大利亚的位置,不会让我回到AU国家代码并仍然给我美国。
有谁知道我想做什么是可能的?获取用户的位置对我的申请至关重要,我不确定另一种选择。