Xcode๋
- Mac X OS, iOS๋ฅผ ์ํ IDE
๐IDE : ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ ์ฝ๋ ์์ฑ, ๋๋ฒ๊ทธ, ์ปดํ์ผ, ๋ฐฐํฌ ๋ฑ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ๊ด๋ จ๋ ๋ชจ๋ ์์ ์ ํ๋์ ํ๋ก๊ทธ๋จ ์์์ ์ฒ๋ฆฌํ๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด
- iOS ๊ฐ๋ฐ์ ์ํ ํ์ ๊ฐ๋ฐ ๋๊ตฌ
1. Xcode๋ฅผ ์คํํด Create a new Xcode projectํด๋ฆญํ๋ค.
2. ์ฃผ๋ก App์ ๊ฐ๋ฐํ ๋๋ App์ ์ฌ์ฉํ๋ค.
๐ template ์ค๋ช
1. App : ๋ทฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฐ์ด๋ ํ ํ๋ฆฟ. ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํจ
2. Document App : ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ๋ฌธ์ ๊ธฐ๋ฐ์ ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ ํ ํ๋ฆฟ
3. Game : ๊ฒ์ ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ ํ ํ๋ฆฟ
4. Argumented Reality App : ์ฆ๊ฐํ์ค(AR) ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ ํ ํ๋ฆฟ
5. Swift Playgrounds App : ํ๋ ์ด๊ทธ๋ผ์ด๋ ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ ํ ํ๋ฆฟ
6. Sticker Pack App : ์คํฐ์ปค ํฉ ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ ํ ํ๋ฆฟ
7. iMessageApp : iMessageApp์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ ํ ํ๋ฆฟ
8. Safari Extension App : Safari ๋ธ๋ผ์ฐ์ ํ์ฅ ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ๋ ํ ํ๋ฆฟ
3. ํ๋ก์ ํธ ์์ฑํ๊ธฐ ์ ํ๋ก์ ํธ ์ด๋ฆ ๋ง๋ค์ด์ฃผ๊ธฐ
๐์ค๋ช
1. Product Name : ํ๋ก์ ํธ ์ด๋ฆ
-์ฑ์ ๊ณ ์ ๋ฒํธ์ธ 'Bundle Identifier'๋ฅผ ๋ง๋ ๋ ์์๋ก ์ฌ์ฉ๋จ
2. Team
: ์ ํ ๊ฐ๋ฐ์ ๊ณ์ ์ผ๋ก ์์ฑ๋ ์ธ์ฆ์๋ฅผ ์ ํํ๋ ๋ถ๋ถ. ์ฑ ์คํ ์ด์ ๋น๋ ๋ ์ฑ์ ๋ฑ๋กํ๊ฑฐ๋ ๋ฐฐํฌํ ์ฑ์ ๋น๋ํ๊ธฐ ์ํด์๋ ๊ทธ์ ๋ง๋ ์ธ์ฆ์๊ฐ ํ์ํ๋ค. ์ ํ ๊ฐ๋ฐ์ ์ฌ์ดํธ์์ ๋ฐ๊ธ ๋ฐ์ ์ธ์ฆ์๋ฅผ ์ ํํ์ฌ ๋น๋ํ๋ฉด, ๋ชฉ์ ์ ๋ง๊ฒ ์๋ช ๋ ์ฑ์ ์์ฑํ ์ ์๋ค.
3. Organization Identifier
: ํ๋ก์ ํธ ์ด์ ๊ธฐ๊ด ๋๋ ์กฐ์ง์ ์๋ณ ๊ฐ์ ์ ๋ ฅํ๋ค. ๋์ฒด๋ก ์์ํ์ฌ๋ ํด๋น ํ๋ก์ ํธ์ ๋๋ฉ์ธ์์ www๋ฅผ ๋บ ๋๋จธ์ง ์ญ์์ผ๋ก ์ฌ์ฉํ๋ค. ์ด ๊ฐ๊ณผ product name์ด ์ฐ๊ฒฐ๋์ด 'bundle identifier'ํญ๋ชฉ์ด ์์ฑ๋๋ค.
4. Bundle Identifier
: ์ฑ์ ๊ณ ์ ์๋ณ ๋ฒํธ์ด๋ค. Organization Identifier ์ Product Name์ ์กฐํฉ์ผ๋ก ์ฌ์ฉ๋๋ค.
(์. org.naver.ProductName)
5. Interface
: Interface ๋ฅผ ๊ตฌํํ ๋, ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ์ ํํ๋ค.
Storyboard์ SwiftUI ์ค Storyboard ๋ฐฉ์์ ์ ํ@@
6. Language
: ์ฑ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ ์ธ์ด๋ฅผ ์ ํํ๋ค.
7. Use Code Data
: ๊ธฐ๊ธฐ ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ, ์ด ๋ ๋ฐ์ดํฐ ์ ์ฅ์ ์ง์ํ๋ ์ฝ์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๊ฒ์ธ์ง ๋ฌป๋ ์ต์ ์ด๋ค. ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ์๋ ์ฒดํฌ๋ฅผ ํด์ ํจ
8. Include Tests
: ๊ฐ๋ฐํ ์ํํธ์จ์ด์ ํ์ง์ ํ ์คํธํ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์๋ ๋จ์ ํ ์คํธ ๊ธฐ๋ฅ๊ณผ UI ์์์ ๋ฐ๋ฅธ ํ ์คํธ๋ฅผ ํ ์ ์๋ค. ํ ์คํธ๊ฐ ํ์ํ์ง ์์ ๊ฒฝ์ฐ ์ฒดํฌ ํด์
4. ๋ด๊ฐ ์ ์ฅํ๊ณ ์ถ์ดํ๋ ํ์ผ ์์น์ ๊ฐ์ ์์ฑ์ ํด์ค๋ค
๋๋ ์ด๋ฏธ git clone์ ํ ํ์ผ์์น์ ๊ฐ์ ํ์ผ์ ์์ฑํด์ค๋ค.
5. ํ์ผ ์์ฑ ์๋ฃ!
๐ํ์ผ ์ค๋ช
๐.swift
- Swiftํด๋์ค ํ์ผ๋ก ์ฑ์ ์์ค ์ฝ๋๋ฅผ ๊ตฌ์ฑํ๋ ์ญํ
- AppDelegate, SceneDelegate ํ์ผ์ ์ฑ ์ ์ฒด์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๋ ํด๋์ค ํ์ผ์ด๋ค.
- ViewController ํ์ผ์ ํ๋ฉด(๋ทฐ)์์ ์ฒ๋ฆฌํ๋ ์ฌ๋ฌ๊ฐ์ง์ ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์์ค ์ฝ๋๋ฅผ ๋ด๊ณ ์๋ ํด๋์ค ํ์ผ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ํ๋ฉด์ ๊ฐ์๋งํผ ViewController๊ฐ ํ์ํ๋ค.
๐.storyboard
- ์ ์ ์ธํฐํ์ด์ค(UI)๋ฅผ ์ข ํฉ์ ์ผ๋ก ๊ตฌํํ๋ ์ญํ
- Main.storyboard ํ์ผ์ ํ๋ก์ ํธ ์์ฑ ์ ๊ธฐ๋ณธ์ผ๋ก ์์ฑ์ด ๋๊ณ ์ฑ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค๊ณ๋ฅผ ๋ด๋นํฉ๋๋ค.
- LaunchScreen.storyboardํ์ผ์ ์ฑ์ ์คํํ๋ฉด ์ฒ์ ๋ํ๋๋ ์์ ํ๋ฉด์ ์ธํฐํ์ด์ค ์ค๊ณ๋ฅผ ๋ด๋นํฉ๋๋ค.
๐Assets.xcassets
- ์ด๋ฏธ์ง ๋ฐ ์์ด์ฝ ๋ฑ์ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ ๋ ์ฌ์ฉํ๋ ํด๋
๐Info.plist
- ํ๋ก์ ํธ ์ค์ ์ ๋ด๋นํ๋ ํ์ผ
- ex. ์์ํ๋ฉด ์ค์ , ๋คํธ์ํฌ ์ ๊ทผ ํ์ฉ, ์นด๋ฉ๋ผ ์ ๊ทผ ํ์ฉ, ์์น ์ ๊ทผ ํ์ฉ