๐ฎ ๋ด ๋ง๋๋ก ๋ง๋๋ ๋ค์์คํ์ด์ค ์๋ ์์ฑ๊ธฐ(feat. python)
๐ ์ ์ด๋ ๊ฒ ๊น์ง ํด์ผํด? ๋ผ๋ ์๋ฌธ์ด ๋ค ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์ ๋ ์ฒ์์๋ ๊ทธ๋ ๊ฒ ์๊ฐํ๊ฑฐ๋ ์.
ํ์ ์ ํ๋ค๋ณด๋ ์๋ก ํ์ผ ยท ์์ ยท ๋ณ์๋ช ์ ๋ํ ๋ถ๋ถ์ ๋ ผ์ํ๋ ๊ฒ์ด ์๊ฐ๋ณด๋ค ๊น๋ค๋ก์ด ์์ ์ด๋ผ๋ ๊ฒ์ ๋๊ผ๊ณ ,
๊ฐ๋ฐ ํํธ ๋ด์์๋ ๋ ๋์๊ฐ ๋์์ด๋, ๊ธฐํ์์์ ํ์ ์ ์์ด์๋ ์ด๋ ์ ๋ ๋ค์ด๋ฐ์ด ํต์ผ๋์ด ์ฌ์ฉ๋๋ ๊ฒ์ด ์ค์ํ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
๐ ๊ทธ๋ฌ๋ฉด ๋ ๋ฌธ์๋ฅผ ์์ฑํ๋ฉด ๋๋ ๊ฑฐ ์๋์ผ?, ํผ๊ทธ๋ง๋ ๋ ธ์ ๊ฐ์ด๋๋ผ์ธ ์์์! ๋ผ๊ณ ์๊ฐ์ด ๋ค ์ ์๋๋ฐ
- ํด๋น ์์ ์ ๋งค ๋น๋ ์ ์คํ๋ ๋์ํธ๋ฅผ ๊ฐ์ ธ์ ์คํฌ๋ฆฝํธ๋ฅผ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ์คํ๋ ๋์ํธ ์์์ ์ ๋ฐ์ดํธ๊ฐ ์ด๋ฃจ์ด์ง๋ฉด
Xcode ํ๋ก์ ํธ๋ด์์๋ ๊ฐ์ด ๋ฐ๋ก ๋ฐ์์ด ๋๋ ์ฅ์ ์ด ์์ต๋๋ค.
๊ฐ๋ฐ์๊ฐ ์ง์ ํ๋ก์ ํธ ๋ด์์ ์ผ์ผ์ด ๋ณ๊ฒฝํ๋ ๋ฒ๊ฑฐ๋ก์์ ๋์ด์ค ์ ์์ฃ .
- ๋ ํ๋ ์ข๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ์ด ํํธ ๋ด์์ ๋ค์ด๋ฐ์ ๋ํ ๋ถ๋ถ์ ์ข ๋ ํจ์จ์ ์ผ๋ก ์ ํ ์ ์๋ค๋ ๊ฒ ๊ฐ์ต๋๋ค.
์คํ๋ ๋์ํธ๋ฅผ ๋ณด๋ฉด์ ๊ฐ์ด ์๊ธฐํด์ ๋ทฐ์ปจ, ์คํ ๋ฆฌ๋ณด๋, ์์ ๋ฑ์ ๋ค์ด๋ฐ์ ํ๊ณ ์ ๋ฆฌ๋ฅผ ํ๋ฉด
์๋ก ์ ๋ฆฌ๊ฐ ๋๊ณ ๋, ํ๋ก์ ํธ์๋ ๋ฐ๋ก ๋ฐ์์ด ๋๋ค๋ ์ฅ์ ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์์์ ์ธ๊ธํ ์ฅ์ ๋๋ฌธ์ ๋ค์ ํ๋ก์ ํธ์ ํ ๋ฒ ์ฌ์ฉํด๋ณด๋ ค๊ณ ์๊ฐ ์ค์ด๊ตฌ์..๐
๐จ ๊ทผ๋ฐ ๊ทธ๋ฅ SwiftGen, R.swift ์ฐ๋๊ฒ ๋ ๋์ ๊ฒ ๊ฐ์์ ใ ใ (์ ๋ 1,2๋ฒ ์ฅ์ ๋๋ฌธ์ ์ฐ๋ ค๊ณ ํฉ๋๋ค!!)
๋ค์์คํ์ด์ค, ์์๋ผ๊ณ ๋ถ๋ฆฌ์ฐ๋ ๊ฐ๋ค์ ์์ฑํฉ๋๋ค.
โ๏ธ ํ์ฌ ์ด๋ฏธ์ง์์ ๋ณด์ด๋ ๊ฒ์ฒ๋ผ Text, Color, Image, Storyboard, Xib๋ฅผ ๊ธฐ์ค์ผ๋ก ์คํฌ๋ฆฝํธ๊ฐ ์์ฑ๋์ด ์์ต๋๋ค.
โ๏ธ ๊ทธ๋์ ์ด๋ฏธ์ง์ฒ๋ผ ๋ด์ฉ์ ์คํ๋ ๋์ํธ๋ฅผ ์์ฑํ์๊ฑฐ๋, ํ์ด์ฌ ์คํฌ๋ฆฝํธ๋ฅผ ์ผ๋ถ ์์ ํด์ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค.
์ ๊ฐ์ ๊ฒฝ์ฐ๋ script๋ผ๋ ํด๋๋ฅผ ๋ง๋ค๊ณ ํ์ ํญ๋ชฉ์ผ๋ก ํ์ด์ฌ ํ์ผ์ ๋ฃ์ด์ฃผ์์ต๋๋ค.
๋ณธ์ธ์ด ๊ตฌ๊ธ ๋๋ผ์ด๋ธ์ ์์ฑํ ์คํ๋ ๋์ํธ์ ์์ด๋๋ฅผ ์ถ๊ฐํ๋ ์์ ์ด ํ์ํฉ๋๋ค.
generate.py ํ์ผ์ gdoc_id๋ก ์ ์ธ๋ ๋ถ๋ถ์ url์ ~/d/ ๋ท๋ถ๋ถ์ ๊ฐ์ ๋ฃ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค.
gdoc_id = "1WMnHk1brX7CR34hCN88cDnTDc4UgTAKh-qegwnPIqCU/edit#gid=0"
[Build Phase] - [Run Script] ๋ถ๋ถ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
ex
python ${TARGET_NAME}/script/generate.py ${TARGET_NAME}
์์ฑ๋ ํด๋๋ฅผ ํ๋ก์ ํธ ๋ด๋ก ๋๋๊ทธ ํ๋ฉด ๋ฉ๋๋ค.
5. ๊ตฌ๊ธ ์คํ๋ ๋์ํธ์ ๊ฐ์ ์ ๋ฐ์ดํธํ๋ฉด ์๋์ผ๋ก ํ๋ก์ ํธ ๋ด์ ํ์ผ์๋ ๋ฐ์์ด ๋ฉ๋๋ค.
python ํ์ผ์ ์ธ๋ถ์์ ์ค์นํ๋ ๋ชจ๋์ด ์์ผ๋ฉด Xcode ์์์ ์ ์ ๋์ํ์ง ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
openpyxl ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์จ์ xlsx ํ์ผ๋ก ๊ด๋ฆฌํ๋ ค ํ์ผ๋ ๊ทธ๊ฒ ๋์ง ์์, ๋ด์ฅ ๋ชจ๋์ธ csv ๋ชจ๋์ ์ด์ฉํด์ ์์ ํ์ต๋๋ค.
๋ค์ ๋ธ๋ก๊ทธ์์ ์๊ฐ์ ๋ฐ์ ์์ ํ์ต๋๋ค.
ํ์ด์ฌ ์คํฌ๋ฆฝํธ์ ๋๋ถ๋ถ์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ผ๋ฉฐ, ์ผ๋ถ๋ถ๋ง ์์ ํ์ต๋๋ค.