๊ฐœ๋ฐœ ์‚ฝ์งˆ๊ธฐ/iOS

[iOS] Objective C์—์„œ Simulator์ธ์ง€ ์‹ค ๊ธฐ๊ธฐ์ธ์ง€ ๊ตฌ๋ณ„ํ•˜๊ธฐ

๋ ˆ๋ชฌํ‚ด๐Ÿ‹ 2020. 2. 10. 14:18

 

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด usr/include์˜ TargetConditionals.h์— ์ •์˜๋œ TARGET_OS_SIMULATOR ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

#if TARGET_OS_SIMULATOR
	//์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ๋™์ž‘ํ•˜๋Š” ์ฝ”๋“œ
#else
	//๊ธฐ๊ธฐ ๋™์ž‘ ์ฝ”๋“œ
#endif

 

์ฃผ์˜ ์‚ฌํ•ญ

์ด ์ฝ”๋“œ๋Š” ๋Ÿฐํƒ€์ž„์—์„œ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ปดํŒŒ์ผ ๋•Œ ์ด๋ฏธ ์—ฌ๋ถ€๊ฐ€ ๊ฒฐ์ •๋˜๊ธฐ ๋•Œ๋ฌธ. (๋งคํฌ๋กœ....)

์•ฑ ๋นŒ๋“œ์™€ ์‹œ๋ฎฌ์šฉ ๋นŒ๋“œ๋Š” ์• ์ดˆ์— ๋‹ค๋ฅด๊ฒŒ ๋นŒ๋“œ๋œ๋‹ค. (์ด ๊ณผ์ •์€ ์ €๋„ ๋” ๊ณต๋ถ€ํ•ด๋ด์•ผ....๊ฒ ๋„ค์š”)

 

์•ˆํƒ€๊น๊ฒŒ๋„ ์•„์ง ๋Ÿฐํƒ€์ž„์—์„œ ์ด ๊ฑธ ์ฒดํฌํ•˜๋Š” ๋ถ€๋ถ„์€ ๋ชป ์ฐพ์•˜๋‹ค. ์กฐ๊ธˆ ๋” ์กฐ์‚ฌํ•ด๋ด์•ผ๊ฒ ๋‹ค.

 

https://forums.developer.apple.com/thread/13254

 

TARGET_IPHONE_SIMULATOR๋Š” ?

๋งจ ์ฒ˜์Œ์— TARGET_IPHONE_SIMULATOR๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค๊ณ  ํ•ด์„œ ์‹ ๋‚ฌ๊ฑด๋งŒ...

iOS 9.0 beta๋ถ€ํ„ฐ deprecated ๋˜์–ด ์žˆ์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

 

 

์ถœ์ฒ˜

https://stackoverflow.com/questions/24869481/detect-if-app-is-being-built-for-device-or-simulator-in-swift

 

iOS13 ๋Ÿฐํƒ€์ž„์˜ usr/include TargetConditionals.h.  ์•ˆ๋…•... deprecated... :(

 

๋‹ค์‹œ ์ฐพ์•„๋ณด๋‹ˆ ์–ด๋–ค ๋ถ„๊ป˜์„œ Gist์— Deprecated  ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ๊ฑธ ๋ฐœ๊ฒฌํ–ˆ๊ณ , 

usr/include > TargetConditionals.h ์—์„œ TARGET_OS_SIMULATOR ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฐพ์•„๋ƒˆ๋‹ค. 

 

 

          TARGET_OS_SIMULATOR      - Generated code will run under a simulator

 

usr/include์˜ TargetConditionals.h ์•ˆ์—, OS, Runtime, CPU์˜ ์ข…๋ฅ˜๋ฅผ ๋‚˜๋ˆ„๋Š” Conditional๋“ค๊ณผ ๊ทธ ์„ค๋ช…์ด ์žˆ์—ˆ๋‹ค.  

 

์ถœ์ฒ˜ : iOS 13 SDK > usr/include > TargetConditionals.h

 

usr/include > TargetConditionals.h์— ์žˆ๋Š” ์ƒ์ˆ˜๋“ค

 

CPU

64๋น„ํŠธ OS๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋‚˜์˜ ๋…ธํŠธ๋ถ์—์„œ ์‹œ๋ฎฌ๋กœ ์‹คํ–‰ํ•˜๋ฉด x86_64๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

OS

 

RT (Runtime)

 

๋‚˜์ค‘์— OS ๊ด€๋ จ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ผ์ด ์žˆ์œผ๋ฉด ์ด ํŒŒ์ผ์—์„œ ํ•œ ๋ฒˆ ์ฐพ์•„๋ด์•ผ๊ฒ ๋‹ค :)