如何在不使用GPS或定位服务的情况下获取我的iPhone设备国家/地区代码?

时间:2017-08-24 14:05:17

标签: ios iphone location country-codes

我需要帮助...... 我是 iPhone 应用开发新手并且正在注册页面上工作。 场景: - >

  1. 位置服务已关闭。
  2. 两个文本字段,一个用于电话国家/地区代码,另一个用于电话号码。
  3. 当弹出注册页面时,国家/地区代码应自动填入设备的国家/地区代码。
  4. 问题: - > 我无法从设备信息中获取国家/地区代码。 此外,我可以使用哪些信息... IMEI,MDN,Locale等......

    感谢任何回复..!

1 个答案:

答案 0 :(得分:0)

您可以从iOS'获取此信息CoreTelephony框架:

#import <CoreTelephony/CTTelephonyNetworkInfo.h>

...

@property (nonatomic, strong) CTTelephonyNetworkInfo* networkInfo;

...

self.networkInfo = [[CTTelephonyNetworkInfo alloc] init];

NSString* country = [self.networkInfo subscriberCellularProvider].isoCountryCode;

我从我的一个应用程序中快速复制粘贴。我相信如果你需要,你可以把它转换成Swift。

subscriberCellularProvider可以访问CTCarrier对象,该对象的字段多于国家/地区代码:MCC,MNC,运营商名称以及允许VoIP的标记。

iOS无法访问IMEI。

In App Purchase API可以告诉您用户所在的iTunes Store;再次使用ISO国家/地区代码您可能需要为您的应用激活IAP,因此当您不销售任何东西时,可能不允许/选择此选项。

当前的区域设置确实也可以为您提供国家/地区代码:

let locale  = NSLocale.currentLocale()
let country = currentLocale.objectForKey(NSLocaleCountryCode) as? String