2011-04-27 22 views
11

CTCarrier的carrierName的文檔狀態「如果用戶正在漫遊,則值不會更改;它始終代表與用戶擁有帳戶的提供商。」漫遊時CTCarrier mobileNetworkCode是否改變?

但是,它並沒有說相同的mobileNetworkCode。這是基於當前運營商的變化還是保持不變?

我正在嘗試查找手機是否在startMonitoringSignificantLocationChanges回調中漫遊,以避免發生地理定位。

回答

18

我現在正在漫遊 - 在瑞士瑞士電信的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作爲下文引用)

+1

感謝您檢查!根據http://en.wikipedia.org/wiki/Mobile_Network_Code,國家310 =美國,網絡代碼410(在國家310)是AT&T。所以它看起來像所有的信息直接從SIM卡讀取。 – Seatwarmer 2011-04-30 11:28:13

+1

是 - 在英國測試過,它仍然是410.我對移動網絡代碼的誤解。上面已經澄清了答案。 – 2011-05-01 06:21:19

+0

檢測您是否漫遊的唯一機制是通過讀取未記錄的系統文件[請參閱上一個問題](http://stackoverflow.com/questions/900547/is-there-any-way-to-determine-if-the -iphone-is-roaming)這違反了Apple規則 – joneswah 2012-01-10 00:12:20