2013-04-23 7 views
2

전화 및 메시지 기능이있는 앱을 개발 중이며 sim 카드가 설치되어 있는지 확인하고 싶습니다. "Message 보낸 성공 "SIM 카드가 설치되어 있는지 확인하는 방법

도와주세요.

+0

SIM 카드 사용 가능성을 확인하고 싶습니다. 맞습니까? –

+0

이 앱은 SIM 카드가없는 iPad WiFi 또는 iPod touch에서도 실행할 수 있으므로이 작업을 수행하지 마십시오. 'MFMessageComposeViewController'는 장치가 메시지를 보낼 수 있는지를 나타내는 클래스 메소드'canSendText'를 가지고 있습니다. 장치 지원이 단지 전화를 체크하는지 확인하기 위해'call :'을 열 수 있습니다. – rckoenes

답변

5

다른 방법이있을 수 있지만 한 가지 방법은 MFMessageComposeViewController 클래스를 사용하여 문자 메시지를 보낼 수 있는지 확인하는 것입니다. 그럴 수 있다면 sim은 달리 사용할 수 없습니다. 경우에

if ([MFMessageComposeViewController canSendText]) { 
    NSLog(@"SIM Available"); 
} else { 
    NSLog(@"no SIM card installed"); 
} 

당신은 당신은 또한 당신이 전화를 걸 수 있다면, 당신은 그 목적을 위해 CTTelephonyNetworkInfo을 사용할 수 있습니다 확인할 수 있습니다,이 사실을 반환 할 수 있습니다 iMessage를 사용할 수 있습니다.

+0

내가 sim이 설치되어 있는지 여부를 확인하고 있는데, 잘 작동한다. 하지만 경고 메시지 "메시지를 보낼 수 없습니다" "x 장치에서 문자 메시지를 사용할 수 없습니다"가 나타납니다. 그런 종류의 경고 메시지를 어떻게 막을 수 있습니까 ??? @nsgulliver – Balu

+0

이 코드는 시뮬레이터를 사용하는 경우 유용합니다. 전화가 아니에요. – Poles

+0

@nsgulliver, canSendText'가 호출되었지만 sim이 내 장치에 삽입되지 않은 경우 'MessageComposeResultFailed'상태가됩니다. 그리고 내 장치 중 하나에 시뮬레이션을 삽입하고 성공적으로 메시지를 보내면. 나는 'MFMessageComposeViewController'메시지를 성공적으로 보내기 위해 sim 카드가 필요하다는 것을 혼란스러워합니다. 설명해 주시겠습니까? –

3

당신도 중 다음과 같은 경우 우선 적용이 문서

http://developer.apple.com/library/ios/#DOCUMENTATION/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/doc/uid/TP40009596-CH1-SW1

NSString *_code = [[[CTCarrier alloc] init] mobileCountryCode]; 

이 속성의 값이 nil 일을 읽을 .... 이런 식으로 사용하여 확인할 수 있습니다

장치가 비행기 모드에 있습니다. 장치에 SIM 카드가 없습니다. 장치가 셀룰러 서비스 범위를 벗어났습니다.

1

먼저 당신은 ............ 장치가 바로이 같은 전화를 걸거나 수없는 경우 다음 확인 장치가 아이폰 (안 아이팟 또는 아이 패드)인지 확인해야

if([[UIDevice currentDevice].model isEqualToString:@"iPhone"]) 
{ 
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:123456"]]) 
    { 
     NSLog(@"Device can make call or send message"); 
    } 
    else 
    { 
     NSLog(@"Device can not make call or send message"); 
    } 
} 
else 
{ 
    NSLog(@"Device can not make call or send message"); 
} 

희망이 있으시면 ........

관련 문제