iOS - Sizuha/devdog GitHub Wiki
๊ฐ๋ฐ์ ๋ฑ๋ก
- http://developer.apple.com/ ์ ์.
- iOS Dev Center( http://developer.apple.com/devcenter/ios/index.action ) ํด๋ฆญ.
- Register ๋ฒํผ ํด๋ฆญ.
์ฃผ์ ์ฌํญ
- ๋ฑ๋ก๋ ์ด๋ฆ๊ณผ ์ ์ฉ์นด๋ ์์ ์ด๋ฆ์ด ์ผ์นํด์ผ ๋ทํ์ด ์๋ค. ๋ฌธ์ ๊ฐ ์๊ธธ๊ฒฝ์ฐ, ์ ํ์ ์ง์ E-amil([email protected])๋ก ๋ฌธ์. (ํ๊ตญ์ด ๋จ)
์ ํ ๊ฐ๋ฐ์ ์ํฌํธ์ ์ต๊ทผ ๊ตฌ์ ํ์ ํ๋ก๊ทธ๋จ์ ๊ด๋ จํ ๋ฌธ์๋ฅผ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ ํฌ๋ ์ ํ์์๋ ๊ฐ๋ฐ์ ๊ณ์ ์ ๋ณด์ ํ๋ก๊ทธ๋จ ์ฃผ๋ฌธ์ ๋ณด๋ฅผ ๋น๊ตํ๋ ๊ธฐ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค, ๊ฐ๋ฐ์๋์ด ๊ฒช์ผ์ ์กํฐ๋ฒ ์ด์ ์ฝ๋ ์ธ์ฆ์คํจ๋ ๊ฐ๋ฐ์๋์ ์ ์ฉ์นด๋์ ๋์ ์๋ > ์ ๋ณด์, Apple Developer Program ๊ณ์ ์ ์๋ ์ ๋ณด๊ฐ ๊ฐ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ํฌ ์ชฝ์์ ์ด ๋ฌธ์ ๋ฅผ ๊ฒํ ํ ๊ฒฐ๊ณผ, ํ๋ก๊ทธ๋จ์ ๊ฑธ๋ ค์๋ ๋ณด๋ฅ๋ฅผ ์ ๊ฑฐํ์์ต๋๋ค. ๊ฐ๋ฐ์๋๊ป์ ๋ฐ์ผ์ จ๋ ์๋์ ์กํฐ๋ฒ ์ด์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ ์, ํ๋ก๊ทธ๋จ ์ธ์ฆ์ ๋ค์ ์๋ํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
๋ถํธ์ ๋ผ์ณ ๋๋ ค ์ฃ์กํฉ๋๋ค. ์ด ๊ณผ์ ํ์๋ ๋ฌธ์ ๊ฐ ์์ผ์ ๊ฒฝ์ฐ์ ์ ํฌ์๊ฒ ๋ค์ ์๋ ค ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
์ธ์ฆ์ ๋ฐ Provisioning
- Apple Developer ์ ์.
- iOS Dev Center ํด๋ฆญ.
- iOS Provisioning Portal ํด๋ฆญ.
์ดํ๋ iOS Provisioning Portal์์ ์ฒ๋ฆฌํด์ผํ ์์ ๋ค์ด๋ค.
WWDR ์ธ์ฆ์ ๋ฐ๊ธฐ
- Cerificates์์ ํ๋จ์ _click here to download now_๋ฅผ ํด๋ฆญํด์ WWDR ์ธ์ฆ์๋ฅผ ๋ค์ด ๋ฐ๋๋ค.
- ๋ค์ด ๋ฐ์ ์ธ์ฆ์ ํ์ผ(AppleWWDRCA.cer)์ ์ด์ด์ Mac์ ๋ฑ๋กํ๋ค.
WWDR ์ธ์ฆ์๋ ์ ํจ๊ธฐ๊ฐ์ด ์์ผ๋ฏ๋ก, ์ ํจ๊ธฐ๊ฐ์ด ๋ง๋ฃ๋๋ฉด ๋ค์ ๋ฐ์์ผ ํ๋ค.
CSR ์์ฑ ๋ฐ ์ธ์ฆ์ ์์ฒญ
- Mac์์ ํค์ฒด์ธ ์ ๊ทผ ํ๋ก๊ทธ๋จ์ ์คํ.
- ์ด์ ์ ์ค์นํ๋ _WWDR ์ธ์ฆ์_๋ฅผ ์ ํํ๊ณ , ๋ฉ๋ด์์ ํค์ฒด์ธ ์ ๊ทผ > ์ธ์ฆ ์ง์ > ์ธ์ฆ๊ธฐ๊ด์์ ์ธ์ฆ์ ์์ฒญ... ์คํ.
- ์ธ์ฆ ์ง์ ์ฐฝ์ด ๋ํ๋๋ฉด, ์ด๋ฉ์ผ ์ฃผ์์ ์ด๋ฆ์ ์ ๋ ฅํ๊ณ , _๋์คํฌ์ ์ ์ฅ๋จ_์ ์ ํํ ํ, ๊ณ์ ๋ฒํผ์ ํด๋ฆญํด์ ํ์ผ ์ ์ฅ. (xxx.certSigningRequest ํ์ผ์ด ์์ฑ๋จ)
๊ฐ๋ฐ์ฉ ์ธ์ฆ์ ์์ฑ
- iOS Provisioning Portal์์, Certificates > Development > Request Certificate ํด๋ฆญ.
- ํ์ผ ์ ํ ๋ฒํผ์ ๋๋ฅด๊ณ , ์์ ์ ์ฅํ .certSigningRequest ํ์ผ์ ์ ํํ๋ค.
- Submit ๋ฒํผ์ ํด๋ฆญ.
Submit ํ๋ฉด ์ธ์ฆ ์งํ์ค ์ํ๋ก ํ์๋๋๋ฐ, ์ ์ ๊ธฐ๋ค๋ ธ๋ค ๋ค์ ๋ค์ด์๋ณด๋ฉด ์๋ฃ๋์ด ์์ ๊ฒ์ด๋ค. ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋๋ฉด ์ธ์ฆ์๋ฅผ ๋ค์ด ๋ฐ์์ Mac์ ๋ฑ๋กํ๋ค.
๋ฐฐํฌ์ฉ ์ธ์ฆ์ ์์ฑ
iOS Provisioning Portal์์, Certificates > Distribution > Request Certificate ํด๋ฆญ.
์ดํ, ๊ฐ๋ฐ์ฉ ์ธ์ฆ์ ์์ฑ๊ณผ ๋์ผํ ์ ์ฐจ๋ฅผ ๋ฐ๋๋ค.
๊ฐ๋ฐ์ฉ ๋จ๋ง๊ธฐ ๋ฑ๋ก
Devices > Manage ํ๋ฉด์์ Add Devices ๋ฒํผ์ ํด๋ฆญํ์ฌ ๋จ๋ง๊ธฐ ๋ฑ๋ก.
โป Xcode์์ Organizer๋ฅผ ํตํด์๋ ํ ์ ์๋ค.
App ID ๋ฑ๋ก
iOS Provisioning Portal์์ App IDs ํ๋ฉด์ผ๋ก ์ด๋.
New App ID ๋ฒํผ์ ํด๋ฆญํด์ ์ App ID ๋ฑ๋ก.
์ ๋ ฅ ํญ๋ชฉ
- Description : App ID์ ๋ํ ์ค๋ช .
- Bundle Identifier : ์ญ ๋๋ฉ์ธ ๋ฐฉ์์ผ๋ก ์ง์ . ์ผ๋ฐ์ ์ผ๋ก ์ ๋ํฌํ ๋ค์ด๋ฐ์ผ๋ก ์ง์ ํ๊ฒ ๋๋, ์์ผ๋ ์นด๋(* ๋ฌธ์)๋ฅผ ์ด์ฉํด์ ์ฌ๋ฌ App ๊ทธ๋ฃน์ ์ง์ ํ ์๋ ์๋ค. ๋จ, ์์ผ๋ ์นด๋๋ก ์ง์ ๋ ๊ฒฝ์ฐ๋ ์ฌ๋ฌ๊ฐ์ง๋ก ์ ์ฝ์ด ๋ถ๊ฒ ๋๋, ์ผ๋จ์ ์ ๋ํฌํ ๋ค์ด๋ฐ์ผ๋ก ํ์.
Provisioning Profile ์์ฑ
์ App ID๊ฐ ์ถ๊ฐ๋ ๋ ๋ง๋ค, ์ด์ ๋์๋๋ ํ๋ก๋น์ ธ๋ ํ์ผ์ ์์ฑํด ์ค๋ค.
๊ฐ๋ฐ์ฉ Provisioning
Provisioning > Development ํญ์์ New Profile ๋ฒํผ์ผ๋ก ์ ํ๋กํ์ผ ์์ฑ.
ํ๋กํ์ผ ์ด๋ฆ, ์ฌ์ฉํ ์ธ์ฆ์, App ID, ํ ์คํธ์ฉ ๋๋ฐ์ด์ค ๋ฑ์ ์ ํํ๊ณ Submit ๋ฒํผ์ ํด๋ฆญํ๋ค.
โป ๋์ค์ ํ ์คํธ์ฉ ๋๋ฐ์ด์ค๊ฐ ์ถ๊ฐ๋ ๊ฒฝ์ฐ์, ์ด ํ๋กํ์ผ ๋ด์ฉ์ ์์ ํด์ ๋ค์ ๋ค์ด ๋ฐ์์ผ ํ๋ค.
๋ฐฐํฌ์ฉ Provisioning
Distribution ํญ์์ New Profile ๋ฒํผ์ผ๋ก ์ ํ๋กํ์ผ ์์ฑ.
๊ฐ๋ฐ์ฉ ํ๋ก๋น์ ธ๋ ์์ฑ๊ณผ ๊ฑฐ์ ๋์ผํ ๋ด์ฉ์ด๋, Distribution Method๋ผ๋ ํญ๋ชฉ์ด ์ถ๊ฐ๋ ์๋ค. App Store์ฉ ๋ฐฐํฌ์ธ์ง, ์ง์ ๋ ๋จ๋ง์ ํ์ ๋ ๋ฐฐํฌ(Ad Hoc)์ธ์ง ์ ํํด ์ฃผ๋ฉด ๋๋ค. :์์ฒด์ ์ผ๋ก App Store์ ๋ฑ๋กํ์ฌ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ๋ App Store, ํ์ฌ๊ฐ ๋ฑ๋กํ๋ ๊ฒฝ์ฐ๋ Ad Hoc์ ์ง์ ํ๋ฉด ๋๋ ๋ฏ.
Provisioning ์ ์ฉ
๊ฐ๋ฐ์ฉ, ๋ฐฐํฌ์ฉ Provisioning์ ๋ค์ด๋ฐ์์ Mac์ ๋ฑ๋ก.
Xcode์ Organizer์์ LIBRARY > Provisioning Profiles ํญ๋ชฉ์ผ๋ก ๋ค์ด๊ฐ์, Provisioning์ด ์ ๋๋ก ์ค์น๋์ด ์๋์ง ํ์ธํ๋ค. ์ํ๊ฐ Valid profile๋ก ๋์ด ์์ด์ผ ํ๋ค.
Development Provisioning Assistant
iOS Provisioning Portal์ Home ํ๋ฉด์์ Launch Assistant ๋ฒํผ์ ํด๋ฆญํ๋ฉด, App ID ๋ฑ๋ก๋ถํฐ ๊ฐ๋ฐ์ฉ Provisioning ์์ฑ๊น์ง ํ๋ฒ์ ์งํํ ์ ์๋ ๋ง๋ฒ์ฌ ํํ์ ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ ์ ์๋ค.
Xcode ์ค์
settings
- Bundle Identifier: ์์์ ์์ ํ App ID๋ก ์ค์ ํจ
- Build Settings > Code Signing Identity
- Debug: ๊ฐ๋ฐ์ฉ Provisioning์ผ๋ก ์ค์ (์: iPhone Developer: xxx)
- Release: ๋ฐฐํ์ฉ Provisioning์ผ๋ก ์ค์ (์: iPhone Distribution: xxx)
Project Build
ํ ์คํธ์ฉ ๋น๋
- Target์ iOS Device ํน์ Mac์ ์ฐ๊ฒฐ๋ ๋จ๋ง๋ก ์ค์ .
- Run
๋ฐฐํฌ์ฉ ๋น๋
- Target์ iOS Device ํน์ Mac์ ์ฐ๊ฒฐ๋ ๋จ๋ง๋ก ์ค์ .
- ๋ฉ๋ด > Product > Archive
App ๋ฑ๋ก: iTunes Connect
์ฐธ๊ณ : iTunes Connect Developer Guide
Manage Your Applications: ์ App ๋ฑ๋ก
Add New App๋ฒํผ ํด๋ฆญ.
Step. 1
์ฒ์์ ์ ๋ ฅํด์ผ๋ ํญ๋ชฉ์ ์๋์ ๊ฐ๋ค.
- Default Language: ๊ธฐ๋ณธ ์ธ์ด ์ ํ.
- App Name: App Store์์ ๋ณด์ฌ์ง ์ฑ ์ด๋ฆ.
- SKU Number: ์ฑ์ ๋ํ ์ ๋ํฌํ ์ด๋ฆ. ๋ฌธ์ ๋ฐ ์ซ์, ์ (.)๊ณผ ํ์ดํ(-), ๋ฐ์ค(_) ๊ธฐํธ ๋ฑ์ ์กฐํฉํด์ ์์ ๋กญ๊ฒ ์์ฑ.
- Bundle ID: App ID ์ ํ. ''Continue'' ๋ฒํผ ํด๋ฆญ.
Step. 2
๋ค์์ ์ ๋ ฅํด์ผ๋ ํญ๋ชฉ์ ์๋๊ณผ ๊ฐ๋ค.
- Availability Date: ์ธ์ ๋ถํฐ ํ์ฑํ ํ ๊ฒ์ธ์ง.
- Price Tier: ์ฑ ๊ฐ๊ฒฉ ์ ํ.
- Discount for Educational Institutions Continue ๋ฒํผ ํด๋ฆญ.
Step. 3
๋ง์ง๋ง์ผ๋ก ์ ๋ ฅํด์ผ๋ ํญ๋ชฉ.
-
Version Information
- Version Number
- Copyright
- ์นดํ ๊ณ ๋ฆฌ ์ ๋ณด
-
Rating : App ์ฐ๋ น์ ํ ๋ฑ๊ธ์ ์ค์ . ํด๋น๋๋ ๊ณณ์ ์ฒดํฌ.
-
Metadata
- Description
- Keywords
- Support URL
- Marketing URL (Optional)
- Privacy Policy URL (Optional)
-
App Review Information
- First Name
- Last Name
- Email Address
- Phone Number
- Review Notes (Optional)
- Demo Account Information (Optional) / Username, Password
-
Uploads
- Large App Icon : App Store์์ ๋ณด์ด๋ ์์ด์ฝ.
- A large version of your app icon that will be used on the App Store. It must be at least 72 DPI, in the RGB color space, and 1024 x 1024 pixels (it cannot be scaled up). The file type must be .jpeg, .jpg, .tif, .tiff, or .png. It must be flat artwork without rounded corners.
- 3.5-Inch Retina Display Screenshots : 3.5์ธ์น ๋ ํฐ๋ ๋์คํ๋ ์ด์ฉ ์คํฌ๋ฆฐ ์ท. ๋ฐ๋์ 1๊ฐ ์ด์ ๋ฑ๋ก๋์ด์ผ ํ๋ค.
- Screenshots for 3.5-inch iPhone and iPod touch Retina display must be 960x640, 960x600, 640x960 or 640x920 pixels, at least 72 DPI, in the RGB color space, and in the JPG or PNG format.
- 4-Inch Retina Display Screenshots : 4์ธ์น(์์ดํฐ5) ๋ ํฐ๋ ๋์คํ๋ ์ด์ฉ ์คํฌ๋ฆฐ ์ท.
- Screenshots for 4-inch iPhone 5 and iPod touch (5th generation) Retina display must be 1136x640, 1136x600, 640x1136 or 640x1096 pixels, at least 72 DPI, in the RGB color space, and in the JPG or PNG format.
- iPad Screenshots : ์์ดํจ๋์ฉ ์คํฌ๋ฆฐ ์ท. ์์ดํจ๋ ์ง์์ผ ๊ฒฝ์ฐ.
- iPad Screenshots must be .jpeg, .jpg, .tif, .tiff, or .png file that is 1024x768, 1024x748, 768x1024, 768x1004, 2048x1536, 2048x1496, 1536x2048 or 1536x2008 pixels, at least 72 DPI, and in the RGB color space.
- Routing App Coverage File (Optional)
- Large App Icon : App Store์์ ๋ณด์ด๋ ์์ด์ฝ.
Save ๋ฒํผ ํด๋ฆญ.
๋ฐ์ด๋๋ฆฌ ๋ฑ๋ก ๋ฐ ๊ฒ์ ์ ์ฒญ: App Store
ํ ์คํธ ๋์์๋ ์คํํ์ผ์ ์ ๋ก๋ ํ์ง ์์๋ ๋จ.
- App ์ ๋ณดํ๋ฉด(Manage Your Applications ํ์ด์ง์์, ๋ฑ๋ก๋ App Icon์ ํด๋ฆญํ๋ฉด ๋ณด์ด๋ ํ์ด์ง)์์ View Details ํด๋ฆญ.
- Ready to Upload Binary ๋ฒํผ ํด๋ฆญ.
์ด์ Xcode๋ฅผ ํตํด์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ฑ๋กํ ์ ์๋ค.
- Xcode์์ ๋ฐฐํฌ์ฉ Archive ์์ฑ.
- Organizer์ Archives ํญ์์ ๋ฑ๋กํ Archive๋ฅผ ์ ํ.
- Validate... ๋ฒํผ์ ํด๋ฆญํด์ ์ ํจ์ฑ ์ฒดํฌ.
- ์ฒดํฌ๊ฐ ํต๊ณผ๋๋ฉด, Distribute... ๋ฒํผ์ ํด๋ฆญํด์ App Store์ ์ ๋ก๋.
๋ฐ์ด๋๋ฆฌ๋ฅผ ์ ๋ก๋ ์ํ๋ iTunes Connect > Manage Your Applications ์์ ํ์ธ.
๋ฐ์ด๋๋ฆฌ ์ ๋ก๋๊ฐ ์๋ฃ๋๋ฉด ์๋์ผ๋ก ๊ฒ์(Review) ๋๊ธฐ ๊ณผ์ ๊น์ง ์งํ๋๋ค.
In-App ๊ฒฐ์
iOS In-App Purchase ์ฐธ์กฐ.
๋ฌธ์ ๋ฐ ํด๊ฒฐ
iOS ๋ฌธ์ ๋ฐ ํด๊ฒฐ ์ฐธ์กฐ