iOS/Xcode

[Xcode] Xcode 14.0๋ถ€ํ„ฐ๋Š” ์–ด๋–ค๊ฒŒ ๋ฐ”๋€Œ์—ˆ์„๊นŒ?

๊ฒฝํ‘ธ 2022. 11. 30. 19:54
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ‘‹๐Ÿป

์กฐ๊ธˆ ๋Šฆ์€ ๊ฐ์ด ์žˆ์ง€๋งŒ

์ตœ๊ทผ์— ์—…๋ฐ์ดํŠธ๋œ Xcode 14.0์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

1. 30% ์ž‘์•„์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ

๊ฐ€์žฅ ๋จผ์ € ๋ˆˆ์— ๋„์—ˆ๋˜ ๊ฒƒ์€

๊ธฐ์กด์˜ Xcode๋ณด๋‹ค 30% ์ •๋„ ์ž‘์•„์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ์ž…๋‹ˆ๋‹ค.

 

๊ธฐ์กด์˜ Xcode๋ฅผ ๋‹ค์šด๋ฐ›์œผ๋ ค๊ณ  ํ•  ๋•Œ ๋ณดํ†ต 10 GB ์ด์ƒ์ด ํ•„์š”ํ–ˆ์ง€๋งŒ

์ด๋ฒˆ Xcode 14.0 ๋ฒ„์ „์˜ ๊ฒฝ์šฐ 7GB ์ •๋„๋กœ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜๊ฐ€ ๋”์šฑ ์šฉ์ดํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

โœ“ ์–ด๋–ป๊ฒŒ ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ 30% ์ •๋„ ์ค„์–ด๋“ค ์ˆ˜ ์žˆ์—ˆ์„๊นŒ?

 

 

  • ์œ„์˜ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์‹œ๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด watchOS, tvOS ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ 30% ์ž‘์•„์งˆ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

2. ๊ธฐ์กด๋ณด๋‹ค 25% ๋นจ๋ผ์ง„ ๋นŒ๋“œ ์‹œ์Šคํ…œ

โœ“ ๋ชจ๋“ˆ์„ ๋นŒ๋“œ ๋ฐ ๋งํฌ ๋‹จ๊ณ„์—์„œ ๋”์šฑ๋” ํ–ฅ์ƒ๋œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๊ธฐ์กด ๋Œ€๋น„ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๋Š” ์†๋„๊ฐ€ ์ตœ๋Œ€ 25% ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ์กด์˜ ๋นŒ๋“œ ๋ฐฉ์‹์„ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

 

โฆฟ ๊ธฐ์กด์˜ Swift ๋ชจ๋“ˆ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ์˜์กด์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž‘์—…์ด ๊ณต์šฉ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์บก์ฒ˜ํ•˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ชจ๋“ˆ ํŒŒ์ผ์„ ๋‚ด๋ณด๋‚ผ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ฆ‰, Xcode 14.0 ์ด์ „์—๋Š” ๋ชจ๋“  ๋ชจ๋“ˆ ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์ปดํŒŒ์ผ ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๊ณ  ๋ชจ๋“  ๊ฐ์ฒด(. o)๋ฅผ ์ด์ง„ ๋ชจ๋“ˆ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑํ–ˆ์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ, Xocde 14.0 ์ดํ›„์˜ ๋นŒ๋“œ ๋ฐฉ์‹์—์„œ๋Š”
    • ๋ชจ๋“ˆ์˜ ์ฆ‰์‹œ ๋ฐฉ์ถœ๋กœ ์ธํ•ด ๋Œ€์ƒ์˜ ๋ชจ๋“ˆ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์˜ ๊ตฌ์„ฑ์€ ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ํŒŒ์ผ์—์„œ ์ง์ ‘ ๋ณ„๋„์˜ ๋ฐฉ์ถœ ์ฒ˜๋ฆฌ๋กœ ์ˆ˜ํ–‰๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (.o ํŒŒ์ผ์„ ๊ธฐ๋‹ค๋ฆด ํ•„์š”๊ฐ€ ์—†์Œ)
    • ์ฆ‰, ๋Œ€์ƒ์˜ ์ข…์†์„ฑ์€ ์ข…์†์„ฑ ๋Œ€์ƒ์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ์ปดํŒŒ์ผ๋Ÿฌ ์ž‘์—…์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋ชจ๋“ˆ์„ ๋ฐฐ์ถœํ•˜๋Š” ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋Š” ์ฆ‰์‹œ ์ปดํŒŒ์ผ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    • ๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด Xcode 14์—์„œ๋Š” ๊ธฐ์กด์˜ ์ž‘์—…์„ ์žฌ์ •๋ ฌํ•˜์—ฌ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ํ–ฅ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

  • ์ด์— ๋งž์ถฐ Linker๋Š” ์ž์ฒด ์†Œ์Šค ์ฝ”๋“œ์˜ ์ปดํŒŒ์ผ์„ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๊ธฐ์— ๋ฅผ ์ตœ๋Œ€ 2๋ฐฐ ๋น ๋ฅด๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

  • ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ๋นŒ๋“œ ํƒ€์ž„๋ผ์ธ
    • ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์˜ค๋ž˜ ์‹คํ–‰๋˜๋Š” ๋นŒ๋“œ ์ž‘์—…์ด๋‚˜ ๋นŒ๋“œ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ํ™•์ธํ•˜๋Š”๋ฐ ๋”์šฑ ์œ ์šฉํ•ด์กŒ์Šต๋‹ˆ๋‹ค.
    • ๊ฐ€๋ น ์œ„์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ ๋‹จ๊ณ„๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ ๋นŒ๋“œ๋ฅผ ํ•˜๋‚˜์˜ ์ฝ”์–ด๋กœ ์ œํ•œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์€ ์‹œ๊ฐ์ ์ธ ์š”์†Œ๋ฅผ ํ†ตํ•ด ํ†ต์ฐฐ๋ ฅ๊ณผ ์„ฑ๋Šฅ ํ™•์ธ์˜ ๊ธฐํšŒ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

3. ์•ฑ ์•„์ด์ฝ˜

  • Xcode 14.0๋ถ€ํ„ฐ๋Š” 1024 X 1024์˜ ์ด๋ฏธ์ง€ ํ•˜๋‚˜๋กœ ์•ฑ ์•„์ด์ฝ˜์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

  • ๋ณด์‹œ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์šฐ์ธก์˜ Inspector์—์„œ ์›ํ•˜๋Š” ๋””๋ฐ”์ด์Šค๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

4. ๋”์šฑ๋” ํ–ฅ์ƒ๋œ ์ฝ”๋”ฉ

๋Œ€ํ‘œ์ ์œผ๋กœ ์•„๋ž˜์˜ ์„ธ ๊ฐ€์ง€๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ƒ์„ฑ์ž ์ž๋™์™„์„ฑ
  • Codable์„ ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์Šค๋‹ˆํŽซ
  • if case ์ปดํ”Œ๋ฆฌ์…˜

4.1 ์ƒ์„ฑ์ž ์ž๋™์™„์„ฑ

struct Luxrobo {
    let department: String
    let name: String
		let age: Int
}
  • ๊ธฐ์กด์—๋Š” ์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ•œ ์ดํ›„ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด ์ƒ์„ฑ์ž์˜ ์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

 

 

  • ํ•˜์ง€๋งŒ Xcode 14.0 ์ดํ›„๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

  • ๋งŒ์•ฝ ๊ธฐ๋ณธ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?

 

 

  • ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ดํƒค๋ฆญ์ฒด๋กœ ๊ธฐ๋ณธ๊ฐ’์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์›ํ•˜๋Š” ๊ฐ’๋งŒ ๊ฐ€์ง€๊ณ ์™€ ์ƒ์„ฑ์ž์—์„œ ์ดˆ๊ธฐํ™”ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ department์™€ name ๋‘ ๊ฐ€์ง€์˜ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • department์™€ age๋งŒ์„ ์ด์šฉํ•ด ์ƒ์„ฑํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด department์™€ age๋งŒ ํ™œ์„ฑํ™”๋˜์–ด ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

4.2 Codable์„ ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์Šค๋‹ˆํŽซ

 

  • ์œ„์˜ ์˜์ƒ์— ๋‚˜์™€์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ Codable์„ ์ฑ„ํƒํ•œ ๊ตฌ์กฐ์ฒด์—์„œ Cmmand ์šฐํด๋ฆญ์„ ํ†ตํ•ด ํ•ด๋‹น ์Šค๋‹ˆํŽซ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ codingKey, init ๋“ฑ ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅ ์‹œ ์Šค๋‹ˆํŽซ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

4.3 if case ์ปดํ”Œ๋ฆฌ์…˜

 

  • ์œ„์™€ ๊ฐ™์€ ์—ด๊ฑฐํ˜•์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด ์ด์ œ๋Š” ์ž๋™์™„์„ฑ์„ ์ œ๊ณตํ•ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

5. SF Symbols

  • ์ด์ œ๋Š” ๋”ฐ๋กœ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ํ•˜๋Š” ์‚ฌ์ „์ž‘์—…์ด ํ•„์š” ์—†์ด ๋ฐ”๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Command + Shift + L์„ ๋ˆŒ๋Ÿฌ SF Symbols๋“ค์„ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

Xcode 15๋„ ๊ธฐ๋Œ€๊ฐ€ ๋˜๊ฒŒ ๋งŒ๋“œ๋Š” Xcode 14.0 ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ์˜€์Šต๋‹ˆ๋‹ค.

๋”์šฑ๋” ๋งŽ์€ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ

๋Œ€ํ‘œ์ ์ธ ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ •๋ฆฌํ•ด๋ดค์Šต๋‹ˆ๋‹ค.

 

์ข‹์€ ์ •๋ณด๊ฐ€ ๋˜๊ธธ ๋ฐ”๋ผ๋ฉด์„œ ๊ธ€ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ™‡๐Ÿป‍โ™‚๏ธ

 

โ€ป ์ฐธ๊ณ ์ž๋ฃŒ

  • WWDC22์—์„œ ์†Œ๊ฐœํ•œ Xcode๊ด€๋ จ ์˜์ƒ์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•œ ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜์ƒ์„ ์‹œ์ฒญํ•˜์‹œ๋ฉด์„œ ํ•จ๊ป˜ ์ •๋ฆฌํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
 

What's new in Xcode - WWDC22 - Videos - Apple Developer

Discover the latest productivity and performance advancements in Xcode 14. We'll introduce you to the fully redesigned SwiftUI canvas...

developer.apple.com

 

  • ๊ธฐ์กด๋ณด๋‹ค ๋นจ๋ผ์ง„ ๋นŒ๋“œ ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
 

Demystify parallelization in Xcode builds | WWDC NOTES

Demystify parallelization in Xcode builds Description: Learn how the Xcode build system extracts maximum parallelism from your builds. We'll explore how you can structure your project to improve build efficiency, take you through the process for resolving

www.wwdcnotes.com

 

๋ฐ˜์‘ํ˜•