Target

Xcode์ ๋น๋๋ฅผ ํตํด ์์ฑ๋ ์ต์ข Product
- Framework
- Application
- ๋ฑ๋ฑ
์ผ๋ฐ์ ์ผ๋ก ํ๋์ ๋ชจ๋ ๋๋ ์ฑ์ ์๋ฏธํ๋ค. ๋ณดํต ํ๋ก์ ํธ ์์ฑ์ ํ๋๋ง ์์ฑ๋๋, ๋ชฉ์ ์ ๋ฐ๋ผ ํ๋์ ํ๋ก์ ํธ์ ์ฌ๋ฌ๊ฐ์ Target์ ์์ฑํ ์ ์๋ค. ํ๋์ ํ๋ก์ ํธ์์ ์์ฑํ๊ณ ์ถ์ end product๊ฐ ์ฌ๋ฌ๊ฐ๊ฐ ์์ ์ ์์ผ๋๊น. ๋ค์๊ณผ ๊ฐ์ ์๊ฐ ์๊ฒ ๋ค.
- ํ๋์ ํ๋ก์ ํธ์์ ํน์ ๋ถ๋ถ๋ง end product๋ก ๋นผ๊ณ ์ถ์ ๊ฒฝ์ฐ
- Unit Test Target ์ค์

๊ฐ๊ฐ์ Target์์ ํ๋ก์ ํธ์ Build Setting์ด ๊ฐ๋ฅํ๋ค. ํฌํจ๋ ๊ฐ์ฒด, ๋ฆฌ์์ค, ์คํฌ๋ฆฝํธ ๋ฑ ์ญ์ ๋ฐ๋ก ์ค์ ์ด ๊ฐ๋ฅํ๋ค. ์ด๊ฑธ ์ ํ ๊ณต์๋ฌธ์์์๋ instuctions๋ผ ํ๋ค.
์ด๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋, Target์ Project build setting์ ์์๋ฐ๊ธฐ ๋๋ฌธ์ด๋ค. Project๋ฅผ ๋๋ฌ๋ Build Setting์ด ์๊ณ Target์ ๋๋ฌ๋ ์๋ค. ๊ฐ๊ฐ์ ๋ค๋ฅธ ํ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ ๋น๋๊ฐ ๋๋ ์ด์ ๊ฐ ์ด๊ฒ. ํ์ ์ค์ ์ผ๋ก ๊ฐ์์น์ธ ์๊ฐ ์์ผ๋๊น!
Xcode์์๋ Target์ ํตํด์ ํ๋์ ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฌ๊ฐ์ ๋ฐฐํฌํ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ํด์ค๋ค. (ex: iPhone์ฉ, iPad์ฉ, ํน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฌํจ๋ Target)
์ข ์์ฑ ํด๊ฒฐ
Target์ Product๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ผ๋ ์ฌ์ค์ ์ดํดํ๋ค. ๊ทธ๋ฐ๋ฐ, A๋ผ๋ ์ ํ์ ๋ง๋๋๋ฐ ์์ด ๋ค๋ฅธ Target์ ์์กดํ ์ ์๋ค. ์ฆ, B๊ฐ ์์ด์ผ A๊ฐ ์์ฑ๋๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
Xcode๋ ์ด๋ฌํ โ์๋ฌต์ ์ข ์์ฑ (Implicit dependency)โ๋ฅผ ์์์ ๋ฐ๊ฒฌํ์ฌ ์์๋๋ก buildํ๋ค.
build setting์์ ๋ช ์์ ์ผ๋ก Target ์ข ์์ฑ์ ์ง์ ํ ์ ์๋ค. ์ฌ๊ธฐ์๋ Xcode๊ฐ ์ด? ์ด๊ฑฐ ์ข ์์ ์ด๋ค ํ๋ฉด์ ์์์ ์ธ ์ข ์์ฑ์ ์์๋๋ก ๋น๋ํ๋ ๊ฒฝ์ฐ์, ์๋์ผ! ๊ทธ๋ ๊ฒ ํ๋ฉด์๋ผ! ์ ๊ฐ์ ํ์๋ ์ง์ ํ ์ ์๋ค๊ณ ํ๋ค.
Scheme

Target์ด ํ๋ก์ ํธ๋ฅผ Build, Profile, Test ํ ๋, ๋ฐ์ํ ์ผ์ ์ ์ํ๋ ๊ณณ
์ผ๋ฐ์ ์ผ๋ก Target์ 1๊ฐ ์ด์์ Scheme์ ๊ฐ๋๋ค. ํ๋ก์ ํธ ๋น๋์ ์ฌ์ฉ๋๋ ํ๊ฒฝ ๋ณ์๋ ์ธ์๋ฅผ ๋๊ฒจ์ฃผ๋ ์ญํ ์ ํ๋ค. ์ฆ ๋ฐํ์์ ์ธ์๋ฅผ ๋ฐ๊ฟ๋ฃ์ ์ ์๋ค๋ ๊ฒ์ด๋ค.
Build Configuration
ํ๋์ ํ๊ฒ์ ๋ํด ๋ค๋ฅธ configuation์ ์ค์ ํ ์ ์๋ ๊ธฐ๋ฅ
Scheme์ ํ๋ก์ ํธ ๋ฐํ์์์ ์ผ์ด๋ ์ผ์ ์ค์ ํ ์ ์๋ค๊ณ ํ๋ค. ์ด๋ฐ ์ ์์ ๋ํ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ์ด Build Configuration์ด๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก๋ Debug, Release ๋๊ฐ๊ฐ ์์ฑ๋๋ค.

์ด๋ ์์ ์ค์ ๋ก ์ด๋ป๊ฒ ์ ์ฉํ๋์ง๋ ๋ค์๊ธ์์ ์์๋ณด๋๋ก ํ์!