【问题标题】:Does CTCarrier mobileNetworkCode change when roaming?漫游时 CTCarrier mobileNetworkCode 会改变吗?
【发布时间】:2011-08-14 01:21:37
【问题描述】:

CTCarrier 的运营商名称的文档指出“如果用户正在漫游,该值不会改变;它始终代表用户拥有帐户的提供商。”

然而,关于 mobileNetworkCode 的说法并不相同。这会根据当前的运营商而变化还是保持不变?

我正在尝试查找手机是否在 startMonitoringSignificantLocationChanges 回调中漫游,因此想避免地理定位。

【问题讨论】:

    标签: ios roaming core-telephony


    【解决方案1】:

    我现在正在瑞士漫游 - 在 Swisscom 上使用 AT&T iPhone 4。刚刚写了一个快速程序来测试。这是我得到的:

    2011-04-29 09:01:55.657 test[2094:707] Carrier Name: AT&T
    2011-04-29 09:01:55.665 test[2094:707] ISO Country Code: us
    2011-04-29 09:01:55.669 test[2094:707] Mobile Country Code: 310
    2011-04-29 09:01:55.678 test[2094:707] Mobile Network Code: 410
    

    所以,回答您的问题,看起来不像移动网络代码更改(410 是 AT&T,如下所述)

    【讨论】:

    • 感谢您的检查!根据en.wikipedia.org/wiki/Mobile_Network_Code,国家 310 = 美国,网络代码 410(在国家 310 中)是 AT&T。所以看起来所有信息都是直接从 SIM 卡中读取的。
    • 是的 - 在英国测试,它仍然是 410。我对移动网络代码的误解。上面已经澄清了答案。
    • 检测您是否在漫游的唯一机制是通过读取未记录的系统文件See previous question,这违反了 Apple 规则
    • 您还可以使用反向地理编码来计算您当前所在的国家/地区,并将其与运营商所在的国家/地区进行比较。这并不完全可靠,但总比没有好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    相关资源
    最近更新 更多