์ฑ ๋ฐฐํฌ์ ์์ด ๊ผญ ์์์ผ ํ๋ App Thining์ค App Slicing์ ๋ํด ์์๋ณธ๋ค. ํด๋น๊ธ์ WWDC 2015๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค.
App Distribution Today
์ด์ ์ App ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ํ๋์๋ค. ๊ฐ๋ฌผ๊ฐ๋ฌผํ๋ค๋ฉด ์ด ๊ธ์ ๋ค์๋ณด์.
- Xcode๋ก ๊ฐ๋ฐ
- testํ app store ์ ์ถ
- ๊ฐ๋ฐ์ certificate๋ก signingํ๋ค. ์ ํ์ ์ด๋ฅผ ๋ณด๊ณ ๊ฒ์ฆ๋ ๊ฐ๋ฐ์์ธ์ง ์๋์ง ์ฌ๋ถ๋ฅผ ๊ฒ์ฆํ๋ค.
- ์ ํ์ด ์ฑ์ ๊ฒ์ฌํ๊ณ ์น์ธํ๋ค.
- ์ฑ์คํ ์ด๋ app store certificate๋ก re-signingํ์ฌ ์ฌ์ฉ์๋ค์ด app์ ๋ค์ด๋ก๋ํ ์ ์๊ฒ ํ๋ค.
Whatโs in an App?
๊ทธ๋ผ ์ฑ ์์๋ ๋ฌด์์ด ์์๊น? ์ปดํ์ผ๋ ์คํ์ฝ๋์ Resource๋ค์ด ๋ค์ด๊ฐ ์๊ฒ ๋ค.
Executable Code
์๋์ ํฌ๊ธฐ์ ๋ฐ๋ผ์ ๋น๋ํ ์์ญ์ด ๋ค๋ฅผ ์ ์๋ค.
์คํ๊ฐ๋ฅํ ์ฝ๋, ๊ทธ๋ฌ๋๊น ๋ฐ์ด๋๋ฆฌ๋ 32๋นํธ, 64๋นํธ CPU์ธ์ง ๊ณ ๋ คํด์ผ ํ๋ค. ๊ทธ๋ฟ๋ง์ด ์๋๊ณ , ์ด๋ค ์ํคํ ์ณ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ์ญ์ ๊ณ ๋ คํด์ผ ํ๋ค. ์ด๋ถ๋ถ์ด ๊ถ๊ธํ๋ค๋ฉด Architecture Configuration์ ๋ณด๊ณ ์ค์. ๊ฐ๋จํ๊ฒ ๋งํ๋ฉด armv7, armv6s, arm64๋ iphone์ ๋ค์ด๊ฐ๋ arm๊ณ์ด cpu ์ํคํ ์ณ ์ข ๋ฅ์ด๋ค. ์ด ๋ชจ๋ ๊ฒ์ ๋์ํ๋๋ก ํด์ผ ์ ํ ์ํ๊ณ์ ์๋ ๋ชจ๋ ํ๋์จ์ด์์ ๋์ํ๋๋ก ์ฑ์ ๋ง๋ค ์ ์๋ค.
Resources
Resources์์ ๊ณ ๋ คํด์ผ ํ๋ ๊ฒ๋ค์ ๋ฌด์์ด ์์๊น? ๋จผ์ ์ด๋ฏธ์ง๊ฐ ์๋ค๋ฉด ๋๋ฐ์ด์ค๋ค์ scale์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์, ์ด์ ๋ง๋ 1x, 2x, 3x ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
iPad์ ๊ฐ์ด ์ฑ๊ฒฉ์ด ๋ค๋ฅธ ๋๋ฐ์ด์ค๊น์ง ๋์ํด์ผ ํ๋ค๋ฉด ๋ฌธ์ ๋ ๋ ๋ณต์กํด์ง๋ค.
๊ฒ์์ด๋ ๋ค๋ฅธ 3D ๊ทธ๋ํฝ ๊ธฐ๋ฐ ์ฑ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, 1x 2x๋ ์ค์ํ์ง ์๋ค.
OpenGL ES๋ Metal์ ๊ฐ์ ์ ์ ๊ทน ์ด์ฉํ๋ ค๋ฉด, ๊ฐ asset์ ๋ํด ๊ทธ์ ๋ํ ๋ค๋ฅธ ์ง๊ฐ(textures)์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๊ทธ๋ํฝ capability์ ๋ฐ๋ผ ๋ฎ์/๋์ ํ์ง์ ์ฐจ๋ณํ ํ๋ค๋ฉด ๋ชจ๋ ๋๋ฐ์ด์ค์์ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ํ ์ค๋์ค๋ ๊ฐ์ง๊ณ ์์ ์ ์๊ฒ ๋ค. bit rates ์ธก๋ฉด์์ ๋ณํ๋ฅผ ์ค ์ ์๋ค.
์ด์ธ์ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ค๋ ์์ ์ ์๋ค.
App Slicing
๋ฌธ์ ๋ ์ด๊ฑฐ๋ค. ์ฑ ํ๋์ ์ด๋ ๊ฒ ๋ค์ํ๊ฒ ๋ชจ๋ ๊ฒ์ ๊ณ ๋ คํด์ ๋ฐฐ์น๋ฅผ ํด๋์๋๋ฐ, ์ค์ ๋ก ๋ค์ํ ๋๋ฐ์ด์ค์์ ์ฌ์ฉํ ๋ ์ด ๋ชจ๋ ๊ฒ ํ์ํ์ง๋ ์๋ค. ๊ฐ๊ฐ์ ์ฑ์์ ํ์ํ ๊ฒ๋ง ์ ๋ฝ์ ๋ด์ ์๋ ์์๊น?
๊ทธ๊ฒ ๋ฐ๋ก App Slicing์ด๋ค. iPad Mini๋ฅผ ์ํ ์ฑ ๋ฒ๋ค์ ๋ง๋ ๋ค๊ณ ์๊ฐํด๋ณด์. ์ํคํ ์ณ๋ฅผ ์ ํํ๊ณ , ์์ผ๋๊น ์์ ์ด๋ฏธ์ง๋ฅผ ์ ํํ๊ณ , ์ฑ๋ฅ๋ ์ข์ง ๋ชปํ๋ ๊ทธ์ ๋ง๋ OpenGL๊ณผ ์ค๋์ค๋ฅผ ์ ํํ์. ๋๋จธ์ง ๋ฐ์ดํฐ๋ ํญ์๋ค์ด๊ฐ์ผ ํ๋๊น ์ถ๊ฐํด์ฃผ๊ณ .
iPhone 6+์ฌ๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ์ฑ๋ฅ์ด ์ข์ผ๋๊น ์ข์ ๋ ์๋ค์ด ๋ง์ด ๋ค์ด๊ฐ๋ค.
์ด๊ฒ์ด!! ์ ๊ทธ๋ฆผ์ ์ ์ฒด์๋ ๊ฒ! App Record๋ Fat binary๋ฅผ ์๋ฏธํ๋ค. ์์ฃผ ๋ฑ๋ฑํ ์น๊ตฌ๋ค! ์ด๊ฑธ App Store์์ ๋ฐ์์, ์ค์ device์ ์ ๋ฌํ ๋๋ ์ด๋ฅผ ๊ฐ device์ ๋ง๋ ๋ ์๋ค๋ก ์ถ๋ฆฐ๋ค์์ ์ฑ ๋ฒ๋ค์ ๋ง๋ค์ด์ ipa ํํ๋ก ๋ฟ๋ ค์ค๋ค.
๋ง๋ฌด๋ฆฌ
App Thinning์ ์์ App Slicing์ ์์๋ณด์๋ค. ์ฌ๊ธฐ์ ๋ ์ค์ผ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ๊ทธ๊ฑด ๋ค์๊ธ, On Demand Resources์์ ์์๋ณด์.