๐กย Understanding Xcode Build System ๊ธ์ ์ฝ๊ณ ๋ฒ์ญ ๋ฐ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
๋ชจ๋ ์ค์ํํธ ํ๋ก๊ทธ๋จ์ ์ค์ ๋ก ๊ธฐ๊ธฐ์์ ์คํ๋๊ธฐ ์ ์ ๋ง์ ๋ณํ์ ๊ฑฐ์น๋ค. ์ด ๊ณผ์ ์ ๋ณดํต Xcode Build System์ ์ํด ์ฒ๋ฆฌ๋๋ค. ์ด ๊ธ์์ ์ฐ๋ฆฌ๋ Xcode ๋น๋ ์์คํ ์ ๊ฐ ๋ถ๋ถ์ ์ดํด๋ณผ ๊ฒ์ด๋ค.
๋ชจ๋ ์ปดํจํฐ ์์คํ ์ ์ํํธ์จ์ด์ ํ๋์จ์ด์ ๋ ๋ถ๋ถ์ผ๋ก ๋๋๋ค.
ํ๋์จ์ด๋ ํค๋ณด๋, ๋ชจ๋ํฐ์ ๊ฐ์ ์ปดํจํฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋ถ๋ถ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ํ๋์จ์ด๋ ์์ ์๊ฒ ์ด๋ป๊ฒ ๋์ํ ์ง์ ๋ํ ์ง์๋ฅผ ๋ด๋ฆฌ๋ ์ํํธ์จ์ด์ ์ํด ์ ์ด๋๋ค. ์ํํธ์จ์ด๊ฐ ํ๋ก์ธ์ค๋ฅผ ์กฐ์จํ๊ณ , ํ๋์จ์ด๋ ์ค์ ์์ ์ ์ํํ๋ ์ญํ ์ ๋งก๊ธฐ ๋๋ฌธ์ ์ด ๋์ ๊ฐ๊ฐ ๋จ๋ ์ผ๋ก ์ฌ์ฉ๋ ์ ์๋ค.
์ํํธ์จ์ด ์์ง๋์ด๋ก์, ์ฐ๋ฆฌ์ ์ฃผ์ ์ด์ ์ ์ํํธ์จ์ด ๋ถ๋ถ์ด๋ค. ๊ทธ๋ฌ๋ ํ๋์จ์ด๋ Logic 0๊ณผ Logic 1 2๊ฐ์ง์ ๋ ๋ฒจ์ ๊ฐ๋ ์ ๊ธฐ ์ ํธ๋ง ๋ฐ๊ธฐ ๋๋ฌธ์ Swift๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ๋ฐ๋ก ์ดํดํ ์ ์๋ค.
์ด์ ์ด๋ฐ ๊ถ๊ธ์ฆ์ด ์๊ธฐ๊ฒ ๋๋ค โ ๐ก โSwift ์ฝ๋๋ ํ๋์จ์ด๊ฐ ์ดํดํ ์ ์๋ ํํ๋ก ์ด๋ป๊ฒ ๋ณํ๋๋๊ฑฐ์ง?โ
๐ย ๊ทธ์ ๋ํ ํด๋ต์ **Language processing system (์ธ์ด ์ฒ๋ฆฌ ์์คํ )**์ ์๋ค.
์ธ์ด ์ฒ๋ฆฌ ์์คํ ์ ์์์ source ์ธ์ด๋ก ์์ฑ๋ ์ผ๋ จ์ ๋ช ๋ น์ด๋ฅผ ํตํด ์คํ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ์ ์์ฑํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ ๋ชจ์์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ์ธ์ด ์ฒ๋ฆฌ ์์คํ ์ ํ๋ก๊ทธ๋๋จธ๋ค์ด low level์ ๊ธฐ๊ณ์ด๋ฅผ ์์ฑํด๋ ๋์ , Swift๊ฐ์ higher-level์ ๊ณ ๊ธ ์ธ์ด๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค.
์ฐ๋ฆฌ๊ฐ iOS, macOS ๋ฑ์ ๊ฐ๋ฐ์์ ๋งค์ผ ์ฌ์ฉํ๋ ์ธ์ด ์ฒ๋ฆฌ ์์คํ ์ Xcode Build System์ด๋ผ๊ณ ๋ถ๋ฆฐ๋ค.