투케이2K

167. (Objective-C/objc) [간단 소스] CTTelephonyNetworkInfo 사용해 휴대폰 유심 (usim) 장착 상태 확인 본문

Objective-C

167. (Objective-C/objc) [간단 소스] CTTelephonyNetworkInfo 사용해 휴대폰 유심 (usim) 장착 상태 확인

투케이2K 2024. 9. 26. 20:10

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : OBJECTIVE-C

 

[소스 코드]

 

    // ----------------------------------------------------------------------
    // [사전 설정 및 참고 사항] 
    // ----------------------------------------------------------------------
    // 1. CTTelephonyNetworkInfo 사용을 위한 import 선언
    // 
    // #import <CoreTelephony/CTTelephonyNetworkInfo.h>
    // #import <CoreTelephony/CTCarrier.h>
    // ----------------------------------------------------------------------
    // 2. mobileNetworkCode 값을 확인해 usim 장착 여부 판단 실시
    // 
    // @interface ViewController : UIViewController<CBPeripheralManagerDelegate>
    // ----------------------------------------------------------------------





    // ----------------------------------------------------------------------
    // [소스 코드]
    // ----------------------------------------------------------------------

    // [CTTelephonyNetworkInfo 선언 실시]
    CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];

    // [serviceSubscriberCellularProviders 서비스 제공 정보 확인]
    NSDictionary<NSString *, CTCarrier *> *providers = [networkInfo serviceSubscriberCellularProviders];

    if (providers != nil) {
        for (NSString *key in [providers allKeys]) { // [반복 문 수행]

            CTCarrier *carrier = [providers valueForKey:key];

            NSString *mnc = carrier.mobileNetworkCode; // [네트워크 코드]
            NSString *mcc = carrier.mobileCountryCode; // [Country 코드]

            NSLog(@"mnc : %@", mnc);

            if (mnc == nil) { // [네트워크 코드 값 확인]
                NSLog(@"========== [USIM 없음] ==========");
            } else {
                NSLog(@"========== [USIM 있음] ==========");
            }
        }
    }

    // ----------------------------------------------------------------------

 

반응형
Comments