2009-08-13 20 views
7

Objective-Cを使用して、iPhoneのキャリアや現在の信号強度を取得する方法はありますか?私は、データ接続が存在するかどうか、そしてその接続がwi-fiとcellularかどうかを判断する方法を知っています。また、電話アプリに行き、#3001 * 12345 *にダイヤルしてSendを押すことで、手動でiPhoneを「フィールドテスト」モードにすることもできます。iPhoneのキャリア信号強度をプログラムで取得する

+0

あなたはこの質問への答えを見つけましたか? – Hauke

答えて

3

あなたは私が好奇心をそそられ、実際には*3001#12345#*(ハッシュとスターが交換されている)ということが分かりました。

2

これはおそらくAppleのレビューには合格しませんが、CTTelephony通知を使用できます。 まず、CTTelephonyとリンクします。 は今、ちょうどこの使用:

static void callback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) { 

    CFShow(name) 

    NSString *sName = name; 
    if ([sName isEqualToString:@"kCTIndicatorsSignalStrengthNotification"]) { 
     if (userInfo) CFShow(userInfo); 
    }  
} 

をそして、これは購読する:

 
id ct = CTTelephonyCenterGetDefault(); 

    CTTelephonyCenterAddObserver(
           ct, 
           NULL, 
           callback, 
           NULL, 
           NULL, 
           NULL); 
+0

レビューに合格しないのはなぜですか? –

+1

CoreTelephonyはiOS 4.0以降のパブリックAPIですが、CTTelephonyCenterGetDefault()およびCTTelephonyCenterAddObserver()はプライベートメソッドです。レビューアに応じてレビューに合格する可能性がありますが、そうではありません。 – fbernardo

+0

私はこれを試してみましたが、UIイベント(UIViewAnimationDidStopNotificationなど)に関するメッセージは表示されましたが、Telephony-ishは何も表示されませんでした。どんなアイデアが間違っているのでしょうか? – brianestey

関連する問題