2011-11-15 21 views
5

按此處的說明 - >Retrieving Carrier Name from iPhone Programmatically的iOS我不能讓我的運營商名稱

我試圖讓我的承運人的名稱,我使用這個代碼

CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init]; 
CTCarrier *carrier = [netinfo subscriberCellularProvider]; 
NSLog(@"Carrier Name: %@", [carrier carrierName]); 
[netinfo release]; 

,但我收到一條警告在[carrier carrierName]:實例方法'-carrierName'找不到

我已經添加和框架coretelephony到我的項目,但是當我執行我的應用程序崩潰!

謝謝大家!

回答

13

您是否明確導入CTCarrier?

#import <CoreTelephony/CTCarrier.h> 
+2

我只是進口 ...-.-'謝謝! – Janky

+0

即時通訊作爲CTCarrier(0x174059200){ \t運營商名稱:[運營商] – Balu

+0

請問一個新的問題。這一個必須與建設失敗。 – Eric

0

嘗試

NSLog(@"Carrier Name: %@", carrier.carrierName); 

代替。

+0

它說:「Poperty‘CARRIERNAME’不能在正向類對象CTCarrier *' – Janky

+1

iOS系統是在編譯的,順便可以找到?3.0或4.0或? –

+0

4.0和5.0兩個 – Janky

1

我有同樣的問題也和嘗試通過設備登錄:

NSLog(@"carrierName = %@",carrier.carrierName); 
NSLog(@"mobileCountryCode = %@",carrier.mobileCountryCode); 
NSLog(@"mobileNetworkCode = %@",carrier.mobileNetworkCode); 
NSLog(@"isoCountryCode = %@",carrier.isoCountryCode); 
NSLog(@"allowVOIP = %d",carrier.allowsVOIP); 

結果:

2012-05-29 11:48:31.466 carrierTest [357:707] mobileCountryCode = 466

2012-05-29 11:48:31.469 carrierTest [357:707] mobileNetworkCode = 97

2012-05-29 11:48:31.470 carrierTest [357:707] isoCountryCode = TW

2012-05-29 11:48:31.472 carrierTest [357:707] allowVOIP = 1

對象CARRIERNAME是」 .... 。「在運行堆棧中,實際上它應該是」臺灣大哥大「

它似乎是字符串編碼問題,因爲我無法得到它?我不知道...

你可以嘗試其他載體的SIM卡。