在飞行模式下,CTCarrier中的isoCountryCode不会返回nil。

4
我正在使用iOS 11.4.1中的iPhone 6中的CTCarrier中的isoCountryCode。当插入SIM卡并打开飞行模式时,isoCountryCode的值返回为“in”。
根据Apple文档,如果满足以下条件之一,则此属性的值为nil
- 设备处于飞行模式(在我的情况下有效)。 - 设备中没有SIM卡。 - 设备超出了蜂窝服务范围。
请问我是否正确理解了文档?如果是,则为什么我在飞行模式下会得到isoCountryCode作为“in”的结果?
我已向Apple报告了这个问题。 https://bugreport.apple.com/web/?problemID=47138150

只需检查是否处于飞行模式,如果是,则将其视为 nil。 - SPatel
@SPatel:我该如何检查飞行模式是否已启用? - Sahil Khanna
https://dev59.com/62445IYBdhLWcg3wiq8ihttps://dev59.com/mFoU5IYBdhLWcg3w35gM - SPatel
@SPatel:你能在提供的链接中指出答案吗?我只能找到解决方法。 - Sahil Khanna
1
看起来文档需要更新或者他们的框架行为需要改变。向苹果公司报告一个错误。 - Paulw11
https://dev59.com/XZnga4cB1Zd3GeqPdMEn - Himanshu Moradiya
2个回答

0

是的,你理解得没错。在飞行模式下,isoCountryCode 应该为 nil。


为什么当飞行模式打开时,我得到的isoCountryCode是“in”呢? - Sahil Khanna

0

在这种情况下,苹果文档不够清晰。 isoCountryCode 漫游时不会改变。这意味着操作系统只应该获取您的运营商代码一次。当您插入新的SIM卡并且手机进入飞行模式时,它可能为零。尽管我不是这个领域的专家,但最有可能的是SIM卡可以保存与国家静态链接的MCC / MNC代码。 一些测试:https://dev59.com/D2025IYBdhLWcg3wwo-m#5829063


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接