2009-08-13 2 views
7

Objective-C를 사용하여 iPhone의 반송파 및/또는 현재 신호 강도를 얻을 수있는 방법이 있습니까? 데이터 연결이 있는지 여부와 해당 연결이 Wi-Fi인지 셀룰러인지 여부를 확인하는 방법을 알고 있습니다. 또한 iPhone 응용 프로그램으로 이동하여 # 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

관련 문제