处于飞行模式时,CTCarrier中的isoCountryCode不返回nil

时间:2018-11-30 06:55:07

标签: ios iphone swift ios11

我正在iPhone 6(iOS 11.4.1)的CTCarrier中使用isoCountryCode。插入SIM卡并启用飞行模式后,isoCountryCode返回为“ in”的值。

根据Apple Docs,如果满足以下任一条件,则此属性的值为nil

  • 设备处于飞行模式。 (对我而言有效)
  • 设备中没有SIM卡。
  • 该设备不在蜂窝电话服务范围内。

需要帮助才能知道我是否正确理解了文档。如果是,那么为什么在飞行模式下将isoCountryCode设置为“处于”状态?


我已为此问题向Apple提出了错误。

https://bugreport.apple.com/web/?problemID=47138150

2 个答案:

答案 0 :(得分:0)

是的,您理解正确。在飞行模式下,isoCountryCode应该为零。

答案 1 :(得分:0)

在这种情况下,Apple Docs不够清晰。漫游时isoCountryCode不会改变。这意味着操作系统仅应获取您的运营商代码一次。开启手机飞行模式后,插入新的SIM卡时,它可能为零。我不是该领域的专家,但是SIM卡很可能可以容纳与国家/地区静态链接的MCC / MNC代码。进行一些测试:https://stackoverflow.com/a/5829063/1980246