2011-03-02 18 views
0

我需要寫一個測試應用到iPhone4上的iOS 4.2.1,像FieldTest應用程序檢索信息關於cell idrssi(呼叫3001#12345#視圖UMTS小區環境/ GSM小區環境)。現場測試iPhone的小區ID和RSSI

我試圖導入CoreTelephony框架並使用私有API(CTServerConnectionCreate/CTServerConnectionCellMonitorStart)。

以這種方式,我能夠檢索信息,如果我連接到2G網絡。

如果啓用3G,當我打電話CTServerConnectionCellMonitorGetCellCount,cellcount始終爲0

我怎樣才能獲取這些信息,如果連接到3G網絡?

+0

嗨,你可以發佈你的代碼或你的xcode文件嗎? 我需要在iPhone4 IOS 4.2.1上獲取cell id和rssi,但我已經截獲了很多代碼,但都無法工作。 – 2011-04-21 09:01:18

+0

我也在2G中使用這個函數,rssi值大約是100到90;在3G中,rssi值大約爲40-60;有些人說這個功能只是在3g中啓用的。 – 2011-09-15 01:51:25

回答

2

我正在這樣的應用程序中工作,我嘗試檢索cellId,lac和rssi值。 我發現RSSI值的解決方案:對於爲其他值

void *libHandle = dlopen("/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony", RTLD_LAZY); 
int (*CTGetSignalStrength)(); 
CTGetSignalStrength = dlsym(libHandle, "CTGetSignalStrength"); 
if(CTGetSignalStrength == NULL) NSLog(@"Could not find CTGetSignalStrength"); 
int result = CTGetSignalStrength(); 
dlclose(libHandle); 

我沒有發現任何方式以檢索他們甚至在2G網絡,就可以發佈您的代碼,我將測試它,並嘗試讓它在3G網絡上工作。

+0

使用此功能似乎不會產生可靠的結果。至少,它看起來非常嘈雜。如果我的狀態欄設置爲顯示數字RSSI,我可以反覆運行此代碼,並獲得顯着不同的值,並在狀態欄上顯示相同的RSSI dBm值。不知道爲什麼... – Nate 2012-05-09 07:20:16

+0

RSSI質量的任何更新?是否也可以檢索RSCP(信號電平),SC(擾碼)和EcNo(信噪比)? – luksmir 2013-05-16 04:34:33