๊ธฐํƒ€/iOS๐ŸŽ

[iOS] Xcode ์‚ฌ์šฉ๋ฒ• / ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ

yujindonut 2022. 4. 4. 17:05
728x90

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. ์‹œ์ž‘ํ™”๋ฉด ์„ค์ •, ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ ํ—ˆ์šฉ, ์นด๋ฉ”๋ผ ์ ‘๊ทผ ํ—ˆ์šฉ, ์œ„์น˜ ์ ‘๊ทผ ํ—ˆ์šฉ

 

728x90