๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ ๊ธฐ๋ก/TIL

[TIL] 20231204

H.I.G (Human Interface Guidelines)

The HIG contains guidance and best practices that can help you design a great experience for any Apple platform.

HIG๋Š” ๋ชจ๋“  ์• ํ”Œ ํ”Œ๋žซํผ์„ ์œ„ํ•œ ํ›Œ๋ฅญํ•œ ๊ฒฝํ—˜์„ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ์ง€์นจ๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€๊ฐ€ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

 

HIG ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ์ด์œ ?

Apple์˜ ํ”Œ๋žซํผ์— ๋งž๋Š” UI/UX๋ฅผ ์œ ์ €์—๊ฒŒ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด!

HIG๋ฅผ ๋„ˆ๋ฌด ์‹ฌํ•˜๊ฒŒ ์œ„๋ฐฐํ•œ ์•ฑ์˜ ๊ฒฝ์šฐ ์‹ฌ์‚ฌ์—์„œ ๋ฆฌ์  ๋‹นํ•  ์ˆ˜ ์žˆ์Œ

์•„์ดํฐ ๊ธฐ๋ณธ ์•ฑ ์‹œ๊ณ„ UI/UX ๋ถ„์„

ํ™”๋ฉด 1 - ์•Œ๋žŒ ๋ชฉ๋ก

Navigation bars (Components > Navigation and search > Navigation bars)

๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋Š” ์ฐฝ์ด๋‚˜ ํ™”๋ฉด ์ƒ๋‹จ์— ํ‘œ์‹œ๋˜์–ด ์‚ฌ๋žŒ๋“ค์ด ์ฝ˜ํ…์ธ  ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

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

์•ฑ์— ์‚ฌ์šฉํ•œ ์ด์œ  : ์‹œ๊ณ„ ์•ฑ์—์„œ๋Š” ํŽธ์ง‘, ์•Œ๋žŒ ์ถ”๊ฐ€ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด navigation bar๋ฅผ ์‚ฌ์šฉ

 

์‚ฌ์šฉ์‹œ ๊ณ ๋ คํ•  ์ 

  • ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์•ฑ์˜ ์ œ๋ชฉ ๋˜๋Š” ํ™”๋ฉด์˜ ํ˜„์žฌ ๊ฐ€์ด๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์•„๋ž˜ ์ปจํ…์ธ ์— ๋Œ€ํ•œ ์ปจํŠธ๋กค(CRUD)๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์งง์€ ์ œ๋ชฉ, ์Šคํฌ๋กค์‹œ Hidden, ํ‘œ์ค€ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ, ์ถฉ๋ถ„ํ•œ ์—ฌ๋ฐฑ ๋“ฑ์„ ์ง€ํ‚ค๋Š”๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.
  • ๋‚ด๋น„๊ฒŒ์ด์…˜์„ ์‚ฌ์šฉํ• ๋•Œ ์—ฐ์†์ ์ธ ๊ธฐ๋Šฅ์„ ๋„ฃ๋Š”๋‹ค๋ฉด ์ œ๋ชฉ์„ ์ƒ๋žตํ•˜๋Š”๊ฒƒ์ด ์ผ๊ด€์„ฑ์ด ์œ ์ง€ ๋ฉ๋‹ˆ๋‹ค.

Tab bars(Components > Navigation and search > Tab bars)

ํƒญ ํ‘œ์‹œ์ค„์€ ํ‘œ์‹œ์ค„ ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ๋ณด๊ธฐ์—์„œ ์ƒํ˜ธ ๋ฐฐํƒ€์ ์ธ ์ฝ˜ํ…์ธ  ์ฐฝ ์‚ฌ์ด๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

์•ฑ์— ์‚ฌ์šฉํ•œ ์ด์œ  : ์„ธ๊ณ„ ์‹œ๊ณ„, ์•Œ๋žŒ, ์Šคํ†ฑ์›Œ์น˜, ํƒ€์ด๋จธ ๋ผ๋Š” ๋…๋ฆฝ๋œ ์ฝ˜ํ…์ธ  ์ฐฝ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด tab bar ์‚ฌ์šฉ

 

์‚ฌ์šฉ์‹œ ๊ณ ๋ คํ•  ์ 

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

TableView (Components > Layout and organization > Lists and tables)

๋ชฉ๋ก๊ณผ ํ…Œ์ด๋ธ”์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ํ–‰ ์—ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ”์ด๋‚˜ ๋ชฉ๋ก์€ ๊ทธ๋ฃน์ด๋‚˜ ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„ ํƒ, ์ถ”๊ฐ€, ์‚ญ์ œ ๋ฐ ์žฌ์ •๋ ฌ๊ณผ ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ฑ์—์„œ ์‚ฌ์šฉํ•œ ์ด์œ  : ์—ฌ๋Ÿฌ๊ฐœ์˜ ์•Œ๋žŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์ธํ™”๋ฉด์—์„œ ์ œ๊ณตํ•˜๋Š”๋ฐ ์ ํ•ฉ

 

์‚ฌ์šฉ์‹œ ๊ณ ๋ คํ•  ์ 

  • ๋ชฉ๋ก์ด๋‚˜ ํ‘œ์— ํ…์ŠคํŠธ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•œ๋‹ค.
  • ๋ง์ด ๋  ๋•Œ ์‚ฌ๋žŒ๋“ค์ด ํ…Œ์ด๋ธ”์„ ํŽธ์ง‘ํ•˜๊ฒŒ ํ•˜์„ธ์š”.
  • ์‚ฌ๋žŒ๋“ค์ด ๋ชฉ๋ก ํ•ญ๋ชฉ์„ ์„ ํƒํ•  ๋•Œ ์ ์ ˆํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•˜์„ธ์š”.

Toggles(= ํ† ๊ธ€ ์Šค์œ„์น˜) (Components > selection and input > Toggles)

ํ† ๊ธ€์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ๋žŒ๋“ค์€ ๊ฐ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹ค๋ฅธ ๋ชจ์–‘์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผœ์ง ๋ฐ ๊บผ์ง๊ณผ ๊ฐ™์€ ํ•œ ์Œ์˜ ๋ฐ˜๋Œ€ ์ƒํƒœ ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ† ๊ธ€์€ ์Šค์œ„์น˜์™€ ์ฒดํฌ๋ฐ•์Šค์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์Šคํƒ€์ผ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค๋ฅธ ํ”Œ๋žซํผ์€ ์ด๋Ÿฌํ•œ ์Šคํƒ€์ผ์„ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์•ฑ์—์„œ ์‚ฌ์šฉํ•œ ์ด์œ  : ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์•Œ๋žŒ์„ ํ™œ์„ฑํ™” or ๋น„ํ™œ์„ฑํ™” ๊ฐ€๋Šฅ

 

์‚ฌ์šฉ์‹œ ๊ณ ๋ คํ•  ์ 

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

ํ™”๋ฉด ์ „ํ™˜

+๋ฒ„ํŠผ ํด๋ฆญ -> modal ๋ฐฉ์‹ ํ™”๋ฉด์ „ํ™˜ (Patterns > Modality ์ฐธ๊ณ )

๋ชจ๋‹ฌ๋ฆฌํ‹ฐ(modality)๋Š” ๋ถ€๋ชจ ๋ทฐ์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ๊ฑฐ๋ถ€ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…์‹œ์ ์ธ ์กฐ์น˜๋ฅผ ์š”๊ตฌํ•˜๋Š” ๋ณ„๋„์˜ ์ „์šฉ ๋ชจ๋“œ๋กœ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ์‹œํ•˜๋Š” ์„ค๊ณ„ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

 

๊ธฐ์กด์˜ ํ”Œ๋กœ์šฐ ํ˜น์€ ์ƒ์œ„ ๋ทฐ์™€ ์—ฐ๊ด€๋˜์ง€ ์•Š๋Š” ๋…๋ฆฝ๋œ ์ž‘์—…์„ ํ•˜๋Š” ๊ฒฝ์šฐ modal ๋ฐฉ์‹์˜ ํ™”๋ฉด์ „ํ™˜ ์‚ฌ์šฉ

์‹œ๊ณ„์•ฑ์˜ ์•Œ๋žŒ ํƒญ์˜ ๊ฒฝ์šฐ + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ƒˆ๋กœ์šด ์•Œ๋žŒ์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์—์„œ ๋ชจ๋‹ฌ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•จ. ๋ฉ”์ธ ํ™”๋ฉด๊ณผ ๋…๋ฆฝ๋œ ์ž‘์—…์ด๊ธฐ ๋•Œ๋ฌธ์— modal ๋ฐฉ์‹ ์‚ฌ์šฉ

 

์‚ฌ์šฉ์‹œ ๊ณ ๋ คํ•  ์ 

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

ํ™”๋ฉด 2 - ์•Œ๋žŒ ์ถ”๊ฐ€

Number pad (selection and input > virtual keyboards)

iOS, iPadOS, tvOS ๋ฐ VisionOS์—์„œ ์‹œ์Šคํ…œ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ์‹œ

์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ๊ฐ€์ƒ ํ‚ค๋ณด๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์•ฑ์˜ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ์ž‘์—…์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์‚ฌ์šฉ์ž ์ง€์ • ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ œ๊ณตํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ฑ์— ์‚ฌ์šฉํ•œ ์ด์œ  : ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ ์ž‘์—…์„ ํ–ฅ์ƒ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ์ œ๊ณตํ•จ.

์ดํ›„ ์—…๋ฐ์ดํŠธ ๋ฒ„์ „์—์„œ๋Š” ํ”ผ์ปค๋งŒ ์‚ฌ์šฉ (picker๋กœ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด ์ž…๋ ฅ์ด ์ถฉ๋ถ„ํ•˜๊ธฐ ๋•Œ๋ฌธ์—)

 

์‚ฌ์šฉ์‹œ ๊ณ ๋ คํ•  ์ 

  • ํŠน์ˆ˜๋ฌธ์ž์˜ ์‚ฌ์šฉ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ํ‚ค๋ณด๋“œ ์ข…๋ฅ˜๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด์•ผํ•œ๋‹ค.

Picker (selection and input > pickers)

picker๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์ผ€์ด์Šค๋ฅผ ์Šคํฌ๋กค ๊ฐ€๋Šฅํ•œ ๋ชฉ๋ก์œผ๋กœ ํ•˜๋‚˜ ์ด์ƒ ํ‘œ์‹œํ•˜๊ณ 

์„ ํƒ์‹œ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹จ์ผ ๋˜๋Š” ๋‹ค์ค‘ ๊ฐ’์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ์ •๋ณด ์ž…๋ ฅ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

์•ฑ์— ์‚ฌ์šฉํ•œ ์ด์œ  : ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์— ์„ ํƒ๊ฐ’(์ผ์ • ๋ฒ”์œ„ ๋‚ด์˜ ์ž…๋ ฅ) ์„ ์ฃผ์–ด ์ •๋ณด ์ž…๋ ฅ์— ๋„์›€์„ ์ฃผ๊ธฐ ์œ„ํ•ด์„œ

 

์‚ฌ์šฉ์‹œ ๊ณ ๋ คํ•  ์ 

  • ์ค‘๊ฐ„์—์„œ ๊ธด ํ•ญ๋ชฉ ๋ชฉ๋ก์„ ์ œ๊ณตํ•  ๋•Œ ํ”ผ์ปค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค
  • ๊ทœ์น™์ด ์žˆ๋Š” ์ •๋ ฌ๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ํ”ผ์ปค๋ฅผ ์œ„ํ•ด ๋ทฐ์ „ํ™˜์„ ํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.
  • ์‹œ๊ฐ„์„ ํ‘œ์‹œํ• ๋•Œ ๋ถ„์˜ ๊ฒฝ์šฐ 1๋ถ„ ๋‹จ์œ„๊ฐ™์ด ๋” ์ ์€ ์„ธ๋ถ„์„ฑ์„ ์ œ๊ณตํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

Tuist๋ฅผ ์ด์šฉํ•œ ๋ชจ๋“ˆํ™”

Tuist๋ฅผ ์ด์šฉํ•ด ํ…Œ์ŠคํŠธ ์•ฑ ๋ชจ๋“ˆํ™” ์„ฑ๊ณต!

์ด์ „์— ๋ชจ๋“ˆํ™”๋ฅผ ํ•ด๋ณด๋‹ค๊ฐ€ generate์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๋ฐ”๋žŒ์— ๊ผฌ์—ฌ์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ํ•ด์„œ ์„ฑ๊ณตํ–ˆ๋Š”๋ฐ,,

์•„๋งˆ ์ด์ „์— Projects.swift์—์„œ ์˜์กด์„ฑ ์„ค์ •์„ ์ž˜๋ชปํ•ด์„œ ์ž˜ ์•ˆ๋œ ๊ฒƒ ๊ฐ™๋‹ค….

Swift ํŒŒ์ผ์—์„œ ์„ค์ •ํ•ด์ค€ ๊ฒƒ๋“ค์ด Build Settings์— ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์„ ์‹ค์ œ๋กœ ๋ณด๋‹ˆ ์‹ ๊ธฐํ–ˆ์Œ!!!

Swift ํŒŒ์ผ๋กœ ํ”„๋กœ์ ํŠธ ์„ค์ • ๋ฐ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ํ™•์‹คํžˆ ์žฅ์ ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

(์„ธํŒ… ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ tuist edit์œผ๋กœ ๋‹ค์‹œ ์—ด์–ด์„œ Swift ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋˜๋‹ˆ๊นŒ!)

 

์˜ค๋Š˜ ์•Œ๊ฒŒ ๋œ ์ :

Manifests ํ•˜์œ„์— Workspace.swift ํŒŒ์ผ ์ƒ์„ฑํ•ด์„œ .xcworkspace ํŒŒ์ผ ์ƒ์„ฑ ๊ฐ€๋Šฅ

generate ํ›„ tuist graph ๋ช…๋ น์–ด๋กœ ์˜์กด์„ฑ ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑ ๊ฐ€๋Šฅ (์‹ ๊ธฐํ•จ..)

์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ ํŒŒ์•… ์‹œ ์œ ์šฉํ• ๋“ฏ! ๋‚ด์ผ์€ ์™ธ๋ถ€ ์ข…์†์„ฑ ์ถ”๊ฐ€๋ฅผ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

 

 

์ƒˆ์‹น ์ˆ˜์—… ๋๋‚˜๊ณ  ์ง‘์— ์™€์„œ ์ถ”๊ฐ€๋กœ ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๊ณต๋ถ€ํ•˜๊ธฐ + ์ฝ”ํ…Œ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋“ฑ ๋ถ€์กฑํ•œ ๊ณต๋ถ€๋„ ์ถ”๊ฐ€๋กœ ํ•˜๋ ค๊ณ  ๋งค์ผ ๋…ธ๋ ฅ์€ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ

์ฑ…์ƒ ์•ž์— ์•‰๊ธฐ๊นŒ์ง€๊ฐ€ ์ œ๋ฒ• ํž˜๋“œ๋„ค์š”.. 

'๐Ÿ“ ๊ธฐ๋ก > TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL] 20231206  (0) 2023.12.08
[TIL] 20231205  (2) 2023.12.05
[TIL] 20231130  (2) 2023.11.30
[TIL] 20231129  (1) 2023.11.29
[TIL] 20231128  (3) 2023.11.29