๋ด๊ฐ ๊ธฐ์กด์ ๋ง๋ค์๋ ๊ฐ์์ง ๋ฐฅ์ฃผ๋ ์ฑ(DogFood โฆ)๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํด๋ณด๊ฒ ๋ค.
PROJECT_FILE_NAME.xcodeproj
์ด๋ ์์ ์ ์ฒด๋ ํ์ผ์ด ์๋๋ค. ๋๋ ํ ๋ฆฌ๋ค! ์ฐํด๋ฆญํ โํจํค์ง ๋ด์ฉ๋ณด๊ธฐโ๋ก ๋ด๋ถ๋ฅผ ํ์ธํ ์ ์๋ค.
๋ค์ด๊ฐ๊ฒ ๋๋ฉด, 3๊ฐ์ ํ์ผ์ด ๋ณด์ธ๋ค. ๊ฐ๊ฐ ์์๋ณด์
๋ชจ์ข ์ ์ด์ ๋ก ๋ค์๊ณผ ๊ฐ์ ์์๋ก ์ค๋ช ํ๊ฒ ๋ค.
- xcuserdata
- project.pbxproj
- project.xcworkspace
xcuserdata
ํ๋ก์ ํธ ์์ฒด์ ํฌ๊ฒ ์ํฅ์ ์ฃผ์ง ์๋ โ๊ฐ์ธ ์ค์ โ์ ๋ด์ ๋๋ ํ ๋ฆฌ
์ค์ ๋ด๋ถ๋ฅผ ๋ณด๋ฉด, break point์ ๊ฐ์ ๊ฒ๋ค์ด ๋ค์ด๊ฐ ์๋ค.
project.pbxproj
ํ๋ก์ ํธ ๋ด๋ถ ํ์ผ๋ค์ Reference๋ฅผ ํ์ผ ์ ํ์ ๋ฐ๋ผ ์ ์ฅ
- ๋ณด๋ค๋ณด๋ ์ด๋์ ๋ง์ด ๋ณด๋ ์น๊ตฌ๋ค.
- ํ์ ์ conflict์ ์ฃผ๋ฒ์ด๋ค.
- ๋ ๋ช ์ด์์ ํ์์ด ํ์ผ์ ์์๋ฅผ ๋ฐ๊พธ๊ฑฐ๋, ๋์์ ์ถ๊ฐํ๊ฑฐ๋ ๋ฑ๋ฑ์ ํ์๋ฅผ ํ์ ๊ฒฝ์ฐ ์ถฉ๋๋ ์ ์๋ค.
- ์์ ์ด ํ ์์ ๋ง ์ mergeํ๊ฑฐ๋, ์๋ก ์๊ธฐํ๊ณ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ทจํด์ผ ํ๋ค.
project.xcworkspace
์๋ ๋๋ ํ ๋ฆฌ๋ค!
๋ค์ด๊ฐ๋ณด๋, ๋ ์ด์ํ ๋ ์๋ค์ด ์๋ค. ํ๋์ฉ ์์๋ณด์.
xcuserdata
๋ด๋ถ๋ฅผ ๋ณด๋, ์์ ์ต์์ ํด๋์์ ๋ณด์๋ xcuserdata
์ ๊ฐ๋ค.
xcshareddata
workspace์ ๊ณต์ ๋ ์ค์ ์ ๋ด์ ๋๋ ํ ๋ฆฌ
contents.xcworkspacedata
ํ๋ก์ ํธ์ Reference๋ฅผ ์ ์ฅํ๊ณ ์๋ ํ์ผ
์ด ํ๋ก์ ํธ๋ ๋จ์ํ ํ๋ก์ ํธ๋ผ ํ๋ก์ ํธ๊ฐ ์ฐ๊ฒฐ๋์ด ์์ง ์๋ค. ํ์ง๋ง..
๊ฑฐ๋ํ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ, ๋ชจ๋ํ๋ฅผ ํตํด ํ๋ก์ ํธ๋ฅผ ๋๋๊ณ , ๊ทธ ํ๋ก์ ํธ๋ค์ ํ ํ๋ก์ ํธ์ ๋ค์ ์ฎ์ด์ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ๋ ์์ ๊ฐ์ด ์๋นํ ํ์ผ์ด ๋ฐฉ๋ํด์ง๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
PROJECT_FILE_NAME.xcworkspace
์ด๋ ์๋ ๋๋ ํ ๋ฆฌ๋ค!
์ด? ๊ทธ๋ฐ๋ฐ ์๋นํ ์ต์ํ ํ๋ฉด์ด๋ค. ์์ ์๋ PROJECT_FILE_NAME.xcproject
๋ด๋ถ์ project.xcworkspace
์ ๋๊ฐ์ด ์๊ฒผ๋ค.
๊ทธ๋ฐ๋ฐ, ์ค์ contents.scworkspacedata
๋ฅผ ๋ค์ด๊ฐ๋ณด๋ฉด ์ฝ๊ฐ ๋ค๋ฅด๋ค.
์์ project.xcworkspacedata/contents.xcworkspacedata
์ ๊ฒฝ์ฐ์ ๋ค๋ฅด๊ฒ ์๊ฒผ๋ค.
์ง๊ธ ์ค๋ช
ํ๋ PROJECT_FILE_NAME.xcworkspace
์ ๊ฒฝ์ฐ, cocoaPods
๊ฐ ์์ฑํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ contents ๋ด์ญ์ ๊ฐ์ง๋ค. ์ค์ ๋ก ๋ณด๋ฉด, Pods ํ๋ก์ ํธ๊ฐ ์ฐ๊ฒฐ๋์ด ์์์ ํ์ธํ ์ ์๋ค.
CocoaPods์ pod install
์ ํ๋ฉด, ์ด .xcworkspace
๊ฐ ์์ฑ๋๋ ๊ฒ์ด๋ค! ์ฆ, ๋ณธ๋ ํ๋ก์ ํธ์ ๋ณ๋๋ก Project๋ฅผ ๋ง๋ค์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ์ ๊ด๋ฆฌํ ์ ์๋๋ก ํด์ฃผ๋ ๊ฒ. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ด๊ฐ ๋ง๋ Project, Pod Project๋ฅผ ์ฎ์ด contents
์ ์ ์ด๋๊ณ , PROJECT_NAME.xcworkspace
๋ก ๊ด๋ฆฌํ๋ผ๋ ๊ฒ. ๊ทธ๋์ cocoaPods๋ฅผ ์ฌ์ฉํ๋ฉด .xcworkspace
๋ก ์์
ํด์ผ ํ๋ ๊ฒ์ด๋ค.