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

问题描述:

我需要帮助... 我是新来的iPhone应用程序开发和在注册页面上工作。 场景: - >如何在不使用GPS或位置服务的情况下获取我的iPhone设备国家代码?

  1. 位置服务关闭。
  2. 两个文本字段,一个用于电话国家代码,另一个用于电话号码。
  3. 当注册页面弹出时,国家代码应该自动填入设备的国家代码。

问题: - >我有在从设备的信息获取的国家代码难度此外,我可以用什么方式为同... IMEI,MDN,语言环境等..


任何反应表示赞赏..!

+2

的可能的复制[如何获得移动国家和iPhone上的网络代码(https://*.com/questions/2559449/how-to-get-mobile-country-and-network-code-on-iphone) – nathan

+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