如何在iOS中欺骗不同的运营商?

时间:2017-01-04 15:24:05

标签: ios objective-c core-telephony

是否有可能欺骗网络提供商就好像可以欺骗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国家代码并仍然给我美国。

有谁知道我想做什么是可能的?获取用户的位置对我的申请至关重要,我不确定另一种选择。

0 个答案:

没有答案