투케이2K

192. (Objective-C/objc) [간단 소스] TARGET_OS_SIMULATOR 사용해 현재 디바이스가 시뮬레이터 인지 확인 수행 본문

Objective-C

192. (Objective-C/objc) [간단 소스] TARGET_OS_SIMULATOR 사용해 현재 디바이스가 시뮬레이터 인지 확인 수행

투케이2K 2025. 3. 5. 08:59

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : OBJECTIVE-C

 

[소스 코드]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Objective-c

- 개발 툴 : Xcode

- 기술 구분 : objc / TARGET_OS_SIMULATOR / 시뮬레이터

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






// --------------------------------------------------------------------------------------
[사전) 설명]
// --------------------------------------------------------------------------------------

1. iOS에서 현재 디바이스가 시뮬레이터인지 확인하는 가장 흔한 방법은 TARGET_OS_SIMULATOR 매크로를 사용해 확인할 수 있습니다.


2. TARGET_OS_SIMULATOR 는 시뮬레이터에서 앱이 실행 중일 때만 YES 로 정의되며, 실제 기기에서는 이 매크로가 정의되지 않습니다.

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






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

#import <Foundation/Foundation.h>
#import <TargetConditionals.h>

@interface Device : NSObject

+ (BOOL)isSimulator;

@end

@implementation Device


// -------------------------------------------
// [디바이스 시뮬레이터 동작 확인 함수]
// -------------------------------------------
+ (BOOL)isSimulator { 
    #if TARGET_OS_SIMULATOR
        return YES;
    #else
        return NO;
    #endif
}

@end


// -------------------------------------------
// [실제 사용 및 호출 함수]
// -------------------------------------------
int main(int argc, const char * argv[]) {

    @autoreleasepool {

        if ([Device isSimulator]) {
            NSLog(@">>>>>>>>>>>>>>> 디바이스 :: 시뮬레이터 >>>>>>>>>>>>>>>");
        } else {
            NSLog(@">>>>>>>>>>>>>>> 디바이스 :: 실제 기기 >>>>>>>>>>>>>>>");
        }

    }
    return 0;
}

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






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

https://blog.naver.com/kkh0977/223402838446?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
반응형
Comments