Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

iOS15 SwiftUI Preview ํ…Œํฌ๋‹‰, ์ธ์•ฑ๊ฒฐ์ œ(In-App-Purchase), StoreKit 2 WWDC2021

SwiftUI iOS ๊ฐœ๋ฐœ์˜ UI ์ƒˆ ์‹ค์ „ ๊ธฐ์ˆ ์ธ Preview, ๋ถ„์—… ๊ฐœ๋ฐœ ํ…Œํฌ๋‹‰์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. WWDC2021์˜ iOS 15 ๊ธฐ๋ฒ•์ธ Concurrency์™€ In-App-Purchase๋ฅผ ์œ„ํ•œ StoreKit 2์— ๋Œ€ํ•ด์„œ๋„ ๋ฐฐ์›Œ๋ด…๋‹ˆ๋‹ค.

Thumbnail

์ค‘๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • iOS ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • SwiftUI ๋””์ž์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • SwiftUI์˜ Preview ํ…Œํฌ๋‹‰

  • iOS ์•ฑ ๋ถ„์•ผ๋ณ„ ๋ถ„์—… ๊ฐœ๋ฐœ ๊ธฐ๋ฒ•

  • Apple ์ธ์•ฑ๊ฒฐ์ œ (In-App-Purchase) ๊ฐœ๋ฐœ

  • WWDC2021์˜ iOS 15 ์ƒˆ ๊ธฐ์ˆ  (Concurrency, StoreKit 2)

์งง๊ณ  ๊ตต๊ฒŒ ์‹ ๊ธฐ์ˆ ์„ ์ตํ˜€
UI ์ฝ”๋”ฉ์œผ๋กœ ์•ฑ๊นŒ์ง€ ๋งŒ๋“ค์–ด๋ณด์ž! ๐Ÿฆพ

๐Ÿ“ข ์ˆ˜๊ฐ• ์ „ ํ™•์ธํ•ด์ฃผ์„ธ์š”!

  • ๋ณธ ๊ฐ•์˜๋Š” ์ด 4๊ฐœ์˜ ์ˆ˜์—…์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.


iOS 15์˜ ์‹ ๊ธฐ์ˆ ์„ ๋ฐฐ์›Œ์„œ
์•ฑ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ์ ํŠธ๊นŒ์ง€! ๐Ÿ˜

  • SwiftUI์˜ ๋””์ž์ธ
    • ์‹ค์‹œ๊ฐ„ Preview ํ…Œํฌ๋‹‰
  • ์—”์ง„๊ณผ UI๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐœ๋ฐœ
    • ์‹ค์ „ ํŒ€๊ฐœ๋ฐœ์‹œ ๊ฒน์น˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ํ•˜๋Š” ๊ฐœ๋ฐœ ํ…Œํฌ๋‹‰
  • WWDC21์—์„œ ์„ ๋ณด์ธ iOS 15 ํ”„๋กœ๊ทธ๋ฐ ํ…Œํฌ๋‹‰
    • Concurrency (๋™์‹œ์„ฑ), ๋ฐฑ๊ทธ๋ผ์šด๋“œ์ž‘์—…, ๋น„๋™๊ธฐ UI ๊ฐฑ์‹  ํ…Œํฌ๋‹‰
    • ์• ํ”Œ In-App-Purchase(์ธ์•ฑ๊ฒฐ์ œ) ํ…Œํฌ๋‹‰ - StoreKit 2 ์‚ฌ์šฉ๋ฒ•


์ด๋Ÿฐ ๋ถ„๋“ค์ด ๋“ค์œผ๋ฉด ์ข‹์•„์š” ๐Ÿ™Œ

๊ธฐ์ดˆ๋Š” ์ตํ˜”์ง€๋งŒ
์‹ค์ „์€ ์–ด๋ ค์šด ๋ถ„

SwiftUI Preview์™€์˜
๋™์‹œ์ฝ”๋”ฉ์ด ์–ด๋ ค์šด ๋ถ„

์ธ์•ฑ๊ฒฐ์ œ ์•ฑ์„ ๋งŒ๋“ค์–ด
์ˆ˜์ต์„ ๋‚ด๊ณ  ์‹ถ์€ ๋ถ„

์ฝ”๋“œ ๋ชจ๋“ˆ๋ณ„ ๋ถ„๋ฆฌ๊ฐœ๋ฐœ
๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๊ณ ์‹ถ์€ ๋ถ„


์งง์ง€๋งŒ ๋ฐ˜๋ณตํ•ด์„œ
๋‚ด ๊ฒƒ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฐ•์˜! ๐Ÿ“š

 

๋ณธ ๊ฐ•์˜๋Š” ๊ธฐ์ˆ ๋งŒ ๋‚˜์—ดํ•˜๋Š” ๊ฐ•์˜๊ฐ€ ์•„๋‹ˆ๊ณ ,
์ฒ˜์Œ๋ถ€ํ„ฐ ์•ฑ ์ œ์ž‘์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ์ „ ๊ณผ์ •์„ ์„ค๋ช…ํ•˜๋ฉฐ ๊ฐœ๋ฐœํ•˜์—ฌ ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ์ฒ˜์Œ์—๋Š” ์™„์„ฑ๋œ ์•ฑ์„ ๋ณด๋ฉด์„œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์„ค๋ช… ํ•˜๊ณ ,
  • ๋‹ค์Œ์—๋Š” UI๋ฅผ Preview๋กœ ๋‘˜๋Ÿฌ๋ณด๋ฉฐ,
  • ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ์—”์ง„์—†์ด ๋…์ž์ ์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก UI๋งŒ ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ดํ›„ ๋น„๋กœ์†Œ StoreKit 2๋ฅผ ๋ถ™์—ฌ์„œ ์ธ์•ฑ๊ฒฐ์ œ ๋ชจ๋“ˆ์„ ๋ถ™์ž…๋‹ˆ๋‹ค.
  • ์ธ์•ฑ๊ฒฐ์ œ๋ฅผ ์œ„ํ•ด์„œ ๊ฐœ๋ฐœ ์ค‘์— ์ค€๋น„ํ•  ๊ฒƒ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์„ ์‹œ์—ฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ธ์•ฑ๊ฒฐ์ œ์—๋Š” ์†Œ๋ชจ์„ฑ/๋น„์†Œ๋ชจ์„ฑ ์ƒํ’ˆ๊ณผ ์ •๊ธฐํšŒ์› ์ž๋™๊ฒฐ์ œ์— ๋Œ€ํ•œ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.


์˜ˆ์ƒ ์งˆ๋ฌธ Q&A ๐Ÿ’ฌ

Q. ์ž…๋ฌธ์ž๋„ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

๊ธฐ์ดˆ ์ง€์‹์ด ์—†๋‹ค๋ฉด ๋ฐ”๋กœ ์ดํ•ดํ•˜์‹œ๊ธฐ์— ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ์˜ ๊ธฐ์ดˆ๋ฅผ ์ตํžˆ๊ณ  ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด ์ถฉ๋ถ„ํžˆ ์ดํ•ดํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Q. UI ๋””์ž์ธ ๊ธฐ๋ฒ•์€ ์–ด๋–ป๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์‹œ๋‚˜์š”?

์‚ฌ์†Œํ•œ ํฐํŠธ, ์ƒ‰, ๋ชจ์–‘ ๋“ฑ์€ ๊ฐ์ž ๊ตฌ๊ธ€๋งํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ฐ•์˜ ๋‚ด์—์„œ๋Š” ์ „์ฒด์ ์ธ ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋ฒ•์„ ์ค‘์ ์ ์œผ๋กœ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Q. ์•ฑ์Šคํ† ์–ด์˜ ์ธ์•ฑ๊ฒฐ์ œ ์ƒํ’ˆ ๋“ฑ๋ก๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ•์˜๋„ ์žˆ๋‚˜์š”?

์•„์ง๊นŒ์ง€๋Š” ๊ฐœ๋ฐœ ๊ณผ์ •์— ๋Œ€ํ•ด์„œ๋งŒ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋“ฑ๋ก์€ ์‚ฌ์—…์ ยทํ–‰์ •์  ์ž‘์—…์ด ๋งŽ์•„ ์ถ”ํ›„ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๊ฐ•์˜ ์ œ์ž‘์„ ํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.


์ง€์‹๊ณต์œ ์ž๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค โœ’๏ธ

  • 30๋…„ ๊ฒฝ๋ ฅ ๋ณด์œ 
  • ์บ˜๋ฆฌํฌ๋‹ˆ์•„ ์‹ค๋ฆฌ์ฝ˜๋ฒจ๋ฆฌ์˜ ์Šคํƒ€ํŠธ์—… ๊ธฐ์—…์— ๊ทผ๋ฌด ๊ฒฝํ—˜
  • ๋Œ€ํ•™ ๊ฒธ์ž„๊ต์ˆ˜ ๊ฒฝ๋ ฅ
  • ๊ตญ๋‚ด ๋Œ€๊ธฐ์—… ํ”„๋กœ์ ํŠธ ๋‹ค์ˆ˜ ๊ฒฝ๋ ฅ
  • ๊ตญ๋‚ด์™ธ ๋ฒค์ฒ˜๊ธฐ์—… ํ”„๋กœ์ ํŠธ ๋‹ค์ˆ˜ ๊ฒฝ๋ ฅ
  • Visual C++๋ฅผ ๊ฐ€์žฅ ์˜ค๋ž˜ํ–ˆ๊ณ , C#, java, swift, SQL๋“ฑ ์‚ฌ์šฉ.
  • ์ตœ๊ทผ์— ์œˆ๋„์šฐ์šฉ ์•„ํŒŒ์น˜๊ฐ™์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ์ง์ ‘ ๊ฐœ๋ฐœ

 

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์ง์—…์œผ๋กœ ๊ฒฐ์ •ํ•œ ๋ถ„

  • ์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ฐœ๋ฐœ๊ณผ์ •์„ ๊ฒฝํ—˜ํ•ด ๋ณด๊ณ  ์‹ถ์€ ๋ถ„

  • ์ธ์•ฑ๊ฒฐ์ œ๋ฅผ ์•ฑ์— ํฌํ•จ์‹œํ‚ค๊ณ ์ž ํ•˜๋Š” ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Mac ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

  • Swift, x-code, SwiftUI์˜ ๊ธฐ์ดˆ์ ์ธ ์ง€์‹

์•ˆ๋…•ํ•˜์„ธ์š”
๊ผฐ๋Œ€๋ผ๋–ผ์ž…๋‹ˆ๋‹ค.

  • ์บ˜๋ฆฌํฌ๋‹ˆ์•„ ์‹ค๋ฆฌ์ฝ˜๋ฒจ๋ฆฌ์˜ ์Šคํƒ€ํŠธ์—… ๊ธฐ์—…์— ์†Œ์† ๊ฒฝํ—˜
  • ์บ๋‚˜๋‹ค ํ† ๋ก ํ†  ์—ฐ๊ตฌ์†Œ ๊ทผ๋ฌด
  • ๋Œ€ํ•™ ๊ฒธ์ž„๊ต์ˆ˜ ๊ฒฝ๋ ฅ
  • ๊ตญ๋‚ด ๋Œ€๊ธฐ์—… ํ”„๋กœ์ ํŠธ ๋‹ค์ˆ˜ ๊ฒฝ๋ ฅ(ํ˜„๋Œ€์ค‘์ƒ์‚ฐ๊ธฐํš, ์ฝ”๋กฑ๋ฌผ๋ฅ˜, ์‚ผ์„ฑ์นด๋“œ์„œ๋ฒ„, SBSํŽธ์„ฑ ๋“ฑ)
  • ๊ตญ๋‚ด์™ธ ๋ฒค์ฒ˜๊ธฐ์—… ํ”„๋กœ์ ํŠธ ๋‹ค์ˆ˜ ๊ฒฝ๋ ฅ(ํ”Œ๋žซํผ ๋ฐ ์•ฑ)
  • 30๋…„ ๊ฒฝ๋ ฅ ํ”Œ๋žซํผ ๋ฐ ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ
  • Visual C++๋ฅผ ๊ฐ€์žฅ ์˜ค๋ž˜ํ–ˆ๊ณ , C#, java, Android, Swift, SQL๋“ฑ ์‚ฌ์šฉ.
  • ์ตœ๊ทผ์— ์œˆ๋„์šฐ์šฉ ์•„ํŒŒ์น˜๊ฐ™์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ Winpache ์ง์ ‘ ๊ฐœ๋ฐœ
    • https://github.com/Shuooang/Winpache
    • ๊ณ ์„ฑ๋Šฅ, ์บ์‹œ, ํด๋Ÿฌ์Šคํ„ฐ๋ง, API ๊ฐœ๋ฐœ, MariaDB์—ฐ๋™, ์œˆ๋„์šฐ ๋ชจ๋‹ˆํ„ฐ๋ง
๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

4๊ฐœ โˆ™ (2์‹œ๊ฐ„ 12๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!