Notice
Recent Posts
Recent Comments
Link
투케이2K
83. (Objective-C/objc) UIDevice deviceInfo 사용해 디바이스 기기 모델 명칭 및 종류 확인 실시 - device model name 본문
Objective-C
83. (Objective-C/objc) UIDevice deviceInfo 사용해 디바이스 기기 모델 명칭 및 종류 확인 실시 - device model name
투케이2K 2022. 9. 22. 08:42[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : OBJECTIVE-C
[소스 코드]
// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
- (void)testMain {
printf("\n");
printf("==================================== \n");
printf("[ViewController >> testMain() :: 테스트 메소드 수행] \n");
printf("==================================== \n");
printf("\n");
/*
------------------------------------
[요약 설명]
------------------------------------
1. UIDevice currentDevice : 디바이스 기기 정보 및 설정 값을 확인할 수 있습니다
------------------------------------
2. 필요 import :
#import <sys/utsname.h>
------------------------------------
*/
// [try catch 구문 정의 실시]
@try {
// [초기 변수 선언 실시]
NSString *deviceName = @"";
// [시뮬레이터 판단 실시]
NSString *modelName = NSProcessInfo.processInfo.environment[@"SIMULATOR_DEVICE_NAME"];
if (modelName.length > 0) {
deviceName = modelName;
}
// [실제 디바이스 기기 판단 실시]
UIDevice *device = [UIDevice currentDevice];
NSString *selName = [NSString stringWithFormat:@"_%@ForKey:", @"deviceInfo"];
SEL selector = NSSelectorFromString(selName);
if ([device respondsToSelector:selector]) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
deviceName = [device performSelector:selector withObject:@"marketing-name"];
#pragma clang diagnostic pop
}
// [로그 출력 실시]
printf("\n");
printf("==================================== \n");
printf("[ViewController >> try :: 로직 처리 결과 확인] \n");
printf("[deviceName :: %s] \n", deviceName.description.UTF8String);
printf("==================================== \n");
printf("\n");
}
@catch (NSException *exception) {
printf("\n");
printf("==================================== \n");
printf("[ViewController >> catch :: 예외 상황 확인] \n");
printf("[name :: %s] \n", exception.name.description.UTF8String);
printf("[reason :: %s] \n", exception.reason.description.UTF8String);
printf("==================================== \n");
printf("\n");
}
}
[결과 출력]
반응형
'Objective-C' 카테고리의 다른 글
Comments