【问题标题】:how do i get my iPhone device country code without using GPS or location service?如何在不使用 GPS 或定位服务的情况下获取我的 iPhone 设备国家代码?
【发布时间】:2017-08-24 14:05:16
【问题描述】:

我需要帮助... 我是 iPhone 应用程序开发和注册页面的新手。 场景:->

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

问题:->我在从设备信息中获取国家代码时遇到了困难。 另外,我可以将哪些信息用于相同... IMEI、MDN、区域设置等...


感谢任何回应..!

【问题讨论】:

标签: ios iphone location country-codes


【解决方案1】:

您可以从 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。

应用内购买 API 可以告诉您用户在哪个 iTunes Store;再次输入 ISO 国家代码。您可能需要为您的应用激活 IAP,因此当您不销售任何东西时,这可能是不允许的/选项。

当前的语言环境确实也可以给你一个国家代码:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多