๐ŸŽ Apple/Swift

[Swift] DEBUG, RELEASE ๋ถ„๊ธฐ ์ฒ˜๋ฆฌํ•  ๊ฑฐ์˜ˆ์š” (Swift Compiler, ์ „์ฒ˜๋ฆฌ๋ฌธ, #if DEBUG)

JINiOS 2024. 1. 13. 00:47
728x90

์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฏน์ŠคํŒจ๋„ ํ† ํฐ์ด ๋“ค์–ด๊ฐ€์žˆ๋Š”๋ฐ, ๊ฐœ๋ฐœ์šฉ์ด๋ž‘ ๋ฐฐํฌ์šฉ ํ† ํฐ์ด ๋‹ฌ๋ผ์•ผํ•˜์ง€ ์•Š๋‚˜๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

 

"๊ทธ๋Ÿผ ๋””๋ฒ„๊ทธ๋ž‘ ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•ด์ฃผ๋ฉด ๋˜๊ฒ ๋„ค" ํ•˜๋Š” ์ƒ๊ฐ์œผ๋กœ SwiftCompiler์˜ ์ •ํ™•ํ•œ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ๋“œ๋””์–ด ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค.

 

์Šคํ‚ค๋งˆ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์•„์ฃผ ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด์•˜๋‹ค-!


 

โœจ ์ฝ”๋“œ์—์„œ DEBUG, RELEASE ๋ถ„๊ธฐ ์ฒ˜๋ฆฌํ•˜๊ธฐ โœจ

๋ฐฉ๋ฒ• 1. RELEASE ํ”Œ๋ž˜๊ทธ ์„ค์ •ํ•˜๊ธฐ

1) ํ”„๋กœ์ ํŠธ ํŒŒ์ผ > TARGETS-ํ”„๋กœ์ ํŠธ๋ช… > Build Settings > All, Combined ์„ค์ •

2) ํ•˜๋‹จ์œผ๋กœ ์ญ‰ ๋‚ด๋ ค๋ณด๋ฉด Swift Compiler - CustomFlags์— ์ดˆ๊ธฐ์—๋Š” Debug ๋งŒ ์„ค์ •๋˜์–ด ์žˆ์„ ํ…๋ฐ,

ํ•˜๋‹จ Release์— "RELEASE"๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค!

 

3) ์ฝ”๋“œ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค

var value = ""

#if DEBUG
value = "Debug value"
#elseif RELEASE
value = "Release value"
#endif

 

 

๋ฐฉ๋ฒ• 2. #else ํ”Œ๋ž˜๊ทธ ์‚ฌ์šฉํ•˜๊ธฐ

RELEASE๋ฅผ ๋”ฐ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•„๋„ ์•„๋ž˜์ฒ˜๋Ÿผ #else๋ฅผ ํ™œ์šฉํ•ด๋„ ๋œ๋‹ค.

var value = ""

#if DEBUG
value = "Debug value"
#else
value = "Release value"
#endif

 


 

โœจ RELEASE ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ• โœจ

1. ์ƒ๋‹จ์˜ ํ”„๋กœ์ ํŠธ๋ช… ํด๋ฆญ

 

2-1. ์ž˜ ๋ณ€๊ฒฝ๋˜๋Š”์ง€ ํ™•์ธ๋งŒ ํ•ด๋ณด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ:  Edit Scheme... ํด๋ฆญ

2-2. Debug์™€ Release๋ฅผ ์ง€์†์ ์œผ๋กœ ๋‚˜๋ˆ ์„œ ํ™•์ธํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ: New Scheme...ํด๋ฆญ > ์ด๋ฆ„ ์„ค์ • > 1๋กœ ์ด๋™> 2-1๋กœ ์ด๋™

 

3. Build Configuration ์„ค์ •์„ Debug์—์„œ Release๋กœ ๋ณ€๊ฒฝ 

* ์Šคํ‚ด์„ ๋‚˜๋ˆ ์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๊ธ€๋“ค์„ ๋” ์ฐธ๊ณ ํ•˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค-!!

 

4.  ๋นŒ๋“œํ•ด์„œ ํ™•์ธ

 

 

 

728x90