[WWDC22] Get more mileage out of your app with CarPlay ๐Ÿš˜

Lilyยท2022๋…„ 6์›” 10์ผ
0

๏ฃฟ WWDC

๋ชฉ๋ก ๋ณด๊ธฐ
2/2
post-thumbnail

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


WWDC22 ์˜์ƒ
Get more mileage out of your app with CarPlay


์นดํ”Œ๋ ˆ์ด๋Š” ์ฐจ์—์„œ ์•„์ดํฐ์„ ์•ˆ์ „ํ•˜๊ณ  ์Šค๋งˆํŠธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์˜ค๋Š˜์˜ ์„ธ์…˜์€ ์šฐ๋ฆฌ ์•ฑ์—์„œ ์นดํ”Œ๋ ˆ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•„๋ž˜ ์ˆœ์„œ๋กœ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ์นดํ”Œ๋ ˆ์ด๋ฅผ ์ง€์›ํ•˜๋Š” ์•ฑ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ
  • ์˜ฌํ•ด ์ƒˆ๋กญ๊ฒŒ ์นดํ”Œ๋ ˆ์ด๊ฐ€ ์ง€์›๋˜๋Š” ์•ฑ ํƒ€์ž…์— ๋Œ€ํ•œ ์†Œ๊ฐœ
  • ์นดํ”Œ๋ ˆ์ด ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ํˆด์— ๋Œ€ํ•ด ์†Œ๊ฐœ
  • ๋„ค๋น„๊ฒŒ์ด์…˜ ์•ฑ์— ํŠน์ •๋˜๋Š” ์ƒˆ๋กœ์šด ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์†Œ๊ฐœ

CarPlay app์€..

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

์นดํ”Œ๋ ˆ์ด์—์„œ ์•ฑ์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž๊ฒฉ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ž๊ฒฉ์€ ์•ฑ์˜ ํƒ€์ž…์— ๋”ฐ๋ผ Apple CarPlay developer ์›น์‚ฌ์ดํŠธ์—์„œ ์‹ ์ฒญ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Supported app types


๊ธฐ์กด ์นดํ”Œ๋ ˆ์ด๋ฅผ ์ง€์›ํ•˜๋Š” ์•ฑ ์ข…๋ฅ˜์—๋Š” ๋„ค๋น„๊ฒŒ์ด์…˜, ์˜ค๋””์˜ค, ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, EV ์ถฉ์ „, ์ฃผ์ฐจ, ๋น ๋ฅธ ํ‘ธ๋“œ ์ฃผ๋ฌธ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์šด์ „์ž๊ฐ€ ์šด์ „์ค‘์— ํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š” ๊ฒƒ๋“ค์„ ๋„์™€์ฃผ๋Š” ๊ธฐ๋Šฅ๋“ค์ž…๋‹ˆ๋‹ค.

์˜ฌํ•ด ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ๋” ์ถ”๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Fueling๊ณผ Driving task์ž…๋‹ˆ๋‹ค.

์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ๋‘ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ์ „์—, ๋จผ์ € Template์— ๋Œ€ํ•ด ๋น ๋ฅด๊ณ  ์งง๊ฒŒ ์ด์•ผ๊ธฐ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Templates

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

๋˜ํ•œ ํ…œํ”Œ๋ฆฟ์€ ์นดํ”Œ๋ ˆ์ด๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์ฐจ ์ข…๋ฅ˜์—์„œ, ์Šคํฌ๋ฆฐ์˜ ์‚ฌ์ด์ฆˆ๋‚˜ ์ธํ’‹ ๋””๋ฐ”์ด์Šค์— ๋ฌด๊ด€ํ•˜๊ฒŒ ์•ฑ UI๊ฐ€ ์ž˜ ์ž‘๋™ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

ํ…œํ”Œ๋ฆฟ์€ ๊ฐœ๋ฐœ์ž์˜ ์ˆ˜๊ณ ๋ฅผ ๋œ์–ด์ค๋‹ˆ๋‹ค. ๋ฒ„ํŠผ์˜ ๋ฐฐ์—ด์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ฆฌ๋“œ ํ…œํ”Œ๋ฆฟ์—์„œ๋ถ€ํ„ฐ ํ…Œ์ด๋ธ”์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ฆฌ์ŠคํŠธ ํ…œํ”Œ๋ฆฟ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํ…œํ”Œ๋ฆฟ ์ค‘์— ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ๊ฑด ๋ชจ๋“  ์นดํ”Œ๋ ˆ์ด์—์„œ ์ด๋Ÿฌํ•œ ํ…œํ”Œ๋ฆฟ์ด ๋ณด์—ฌ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์šด์ „์ž๊ฐ€ UI์— ์ต์ˆ™ํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์•ฑ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ํ…œํ”Œ๋ฆฟ์€ ์œ„ ์ฐจํŠธ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์œ„์™€ ๋˜‘๊ฐ™์€ ์ฐจํŠธ๋Š” developer document online์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ƒˆ๋กœ ์ถ”๊ฐ€๋œ Carplay app type


1. Fueling apps

์•„๋งˆ ๊ธฐ์–ตํ•˜์‹œ๋“ฏ์ด, iOS14์—์„œ๋Š” EV Charging ์•ฑ์„ ์ง€์›ํ•˜๋Š” ์•ฑ ํƒ€์ž…์„ ๋Ÿฐ์น˜ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•ฑ์€ EV Charger ์œ„์น˜ ๊ฒ€์ƒ‰ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ Charging station์— ์—ฐ๊ฒฐํ•˜๊ณ  ์‹œ์ž‘ํ•˜๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์ด ์ „๊ธฐ์ฐจ๊ฐ€ ์•„๋‹Œ ์ฐจ์—์„œ๋„ ์œ ์šฉํ•  ๊ฒƒ์ด๋ž€ ์–˜๊ธฐ๋ฅผ ๋งŽ์ด ๋“ค์—ˆ๊ณ , ์ƒˆ๋กœ์šด fueling app์„ ํ†ตํ•ด ์ „๊ธฐ์ฐจ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ์ „ํ†ต์  ๊ฐ€์†”๋ฆฐ ์ฐจ๋‚˜ ๋Œ€์ฒด ์—ฐ๋ฃŒ ์ฐจ์—์„œ๋„ ์œ„ ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„ค๋น„๊ฒŒ์ด์…˜ ์•ฑ์—์„œ๋„ ์žฅ์†Œ(์—ฌ๊ธฐ์„  ์ฃผ์œ ์†Œ๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ ๊ฐ™์Œ)๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, fueling app์—์„œ๋Š” ๋‹จ์ˆœ ์žฅ์†Œ ๊ฒ€์ƒ‰ ์™ธ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜์„ธ์š”. โ€œ๊ฐ€์Šค ํŽŒํ”„๋ฅผ ์ž‘๋™์‹œํ‚ค๋Š” ๊ฒƒโ€๊ณผ ๊ฐ™์€ ๊ฒƒ์ด fueling app๋งŒ์ด ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์˜ ์ข‹์€ ์˜ˆ๊ฐ€ ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

2. Driving task apps

Driving task app์€ ๋„“์€ ๋ฒ”์œ„์˜ ๊ฐ„๋‹จํ•  ํƒœ์Šคํฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์•ฑ ํƒ€์ž…์ž…๋‹ˆ๋‹ค. ์žŠ์ง€ ๋ง์•„์•ผํ•  ๊ฒƒ์€ ์ด๋Ÿฌํ•œ ์•ฑ์˜ ์ฃผ์š” ๋ชฉ์ ์€ ์šด์ „์ค‘์— ํ•„์š”ํ•œ ์ผ์„ ์ง€์›ํ•˜๋„๋ก ๋””์ž์ธ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šด์ „์ค‘์— ํ•ด๋‚ด์–ด์•ผํ•  ํƒœ์Šคํฌ๊ฐ€ ์•„๋‹Œ ์šด์ „์„ ๋•๋Š” ํƒœ์Šคํฌ์—ฌ์•ผํ•ฉ๋‹ˆ๋‹ค.

Examples

  • ์ž๋™์ฐจ ๋ถ€ํ’ˆ ์กฐ์ž‘
  • ๋“œ๋ผ์ด๋น™ ๋˜๋Š” ๋„๋กœ ๊ด€๋ จ ์ƒํƒœ์™€ ์ •๋ณด ์ œ๊ณต
  • ์šด์ „์˜ ์‹œ์ž‘๊ณผ ๋์— ํ•ด์•„ํ•  ์ผ

์ด ๊ฐ™์€ ์˜ˆ์‹œ์˜ ๊ตฌ์ฒด์  ์‚ฌ๋ก€๋ฅผ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฒซ๋ฒˆ์งธ, ์ค‘์š”ํ•œ ๋„๋กœ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” road status app์ž…๋‹ˆ๋‹ค. CPPointOfInterestTemplate์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ด ์•ฑ์„ ์šด์ „์ค‘์— ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์•„์ฃผ ์ค‘์š”ํ•˜๊ณ  ์งง์€ ์ •๋ณด๋ฅผ ์šด์ „์„ ๊ฐ€๊นŒ์ด ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜†์˜ ์ง€๋„๋ฅผ ๊ฐ€๋ฆฌ๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์•ฑ์˜ ๊ณต๊ฐ„์€ ์ œ์•ฝ์ด ์žˆ๊ณ , ๋”ฐ๋ผ์„œ ๊ฐ„๊ฒฐํ•œ ์–ธ์–ด๋ฅผ ์„ ํƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‘๋ฒˆ์งธ, ์ฐจ์˜ accessory๋ฅผ ์ปจํŠธ๋กคํ•˜๋Š” ์•ฑ์ž…๋‹ˆ๋‹ค. ์œ„ ๊ฒฝ์šฐ์—” trail controller(์ถ”์  ์ œ์–ด๊ธฐ)์ž…๋‹ˆ๋‹ค.

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

๋งˆ์ง€๋ง‰์œผ๋กœ, CPGridTemplated์„ ์ด์šฉํ•œ ๋‘๊ฐœ์˜ ๋ฒ„ํŠผ๋งŒ ์žˆ๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์•ฑ์ž…๋‹ˆ๋‹ค.

๋‘๊ฐ€์ง€ ๋ฒ„ํŠผ์„ ์ด์šฉํ•ด ๊ฐœ์ธ ํ˜น์€ ๋น„์ง€๋‹ˆ์Šค ๋งˆ์ผ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด Driving task ์•ฑ ํƒ€์ž…์— ๋”ฑ ๋งž๋Š” ์•ฑ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๊ฒŸ๋„ค์š”. ์šด์ „์ค‘์— ํ•„์š”ํ•œ ์ผ์ด๊ณ , ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์ž‘์—…์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์œ„์™€ ๊ฑฐ์˜ ๋™์ผํ•œ UI์˜ ๋‹ค๋ฅธ ์•ฑ์ž…๋‹ˆ๋‹ค. express lane toll transponder app์ธ๋ฐ, ์ฐจ์— ๋ช‡๋ช…์˜ ๋™์Šน์ž๊ฐ€ ์žˆ๋Š”์ง€ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ •๋ฆฌ

โœ…

  • ์‹ฑ๊ธ€ ์Šคํฌ๋ฆฐ์˜ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ์„ ๊ณ ๋ คํ•  ๊ฒƒ
  • ๋ช‡์ดˆ์•ˆ์— ๋๋‚ผ ์ˆ˜ ์žˆ๋Š” ํƒœ์Šคํฌ๋ฅผ ํƒ€๊ฒŸ์œผ๋กœ ํ•  ๊ฒƒ

โŒ

  • ๋ณต์žกํ•˜๊ณ  ๋“œ๋ฌธ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋„ฃ์ง€ ๋ง ๊ฒƒ
  • ์ฐจ์™€ ๊ด€๋ จ๋œ ์ผ์ด๋ผ๋„ ์šด์ „์ค‘์— ํ•„์š”ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด ๋„ฃ์ง€ ๋ง ๊ฒƒ

CarPlay Simulator


์นดํ”Œ๋ ˆ์ด ์•ฑ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๋„๊ตฌ๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ Carplay Simulator!

๋จผ์ € ๊ธฐ์กด ํ…Œ์ŠคํŠธ ํˆด์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ• ๊ฒŒ์š”.

  • Xcode Simulator
    • ์นดํ”Œ๋ ˆ์ด ์œˆ๋„์šฐ๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์Œ
    • Xcode Simulator๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋ถ„๋“ค์ด๋ผ๋ฉด ๋น ๋ฅด๊ฒŒ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ
  • ์‹ค๊ธฐ๊ธฐ๋ฅผ ์นดํ”Œ๋ ˆ์ด ๊ฐ€๋Šฅ ์ฐจ๋Ÿ‰ ๋˜๋Š” aftermarket head unit์— ์—ฐ๊ฒฐํ•ด์„œ ํ…Œ์ŠคํŠธ
    (Aftermarket head unit : ๋ถ€ํ’ˆ์‹œ์žฅ์—์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ํ—ค๋“œ ์œ ๋‹›)
    • Carplay simulator ์ถœ์‹œ ์ „ ์‹ค์ œ ์นดํ”Œ๋ ˆ์ด UI๋ฅผ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋˜ ์œ ์ผํ•œ ๋ฐฉ๋ฒ•

CarPlay Simulator

์นดํ”Œ๋ ˆ์ด ํ™˜๊ฒฝ์„ ๋˜‘๊ฐ™์ด ๋งŒ๋“ค์–ด๋‘” Mac app์ž…๋‹ˆ๋‹ค. ์• ํ”Œ ๊ฐœ๋ฐœ์ž ์‚ฌ์ดํŠธ์˜ โ€œAdditional Tools for Xcodeโ€์—์„œ ๋‹ค์šด๋กœ๋“œ ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์„ ์‹คํ–‰ํ•˜๊ณ  ์ผ€์ด๋ธ”์„ ์ด์šฉํ•ด ๋งฅ์— ์—ฐ๊ฒฐํ•ด์„œ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์‹ค์ œ ์ฐจ์— ์—ฐ๊ฒฐ๋œ ๊ฒƒ๊ณผ ๋˜‘๊ฐ™์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ…Œ์ŠคํŠธ ์žฅ๋ฉด๐Ÿ‘‡ย (์˜์ƒ ํ›„๋ฐ˜๋ถ€์— ๋‚˜์˜ด)


์žฅ์ 

  • ์‹ค์ œ ์ฐจ๋Ÿ‰๊ณผ ๋˜‘๊ฐ™์ด ์ž‘๋™ (์ฃผ์ฐจ์žฅ์„ ์˜ค๊ฐˆ ํ•„์š” ์—†์Œ)
  • ๋‹ค๋ฅธ ๊ฐœ๋ฐœ ํˆด๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ์•„์ดํฐ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์— ์ ‘๊ทผ ๊ฐ€๋Šฅ

(์ผ๋ถ€ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์‹ค์ œ ์นดํ”Œ๋ ˆ์ด ์‹œ์Šคํ…œ์ด๋‚˜ ํ˜„์žฌ ์นดํ”Œ๋ ˆ์ด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์—†์ด๋Š” ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค)

  • ์ฐจ๋Ÿ‰์˜ ๋‹ค์–‘ํ•œ ์„ค์ •์„ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ (์˜ˆ. ๋‹ค์–‘ํ•œ ๋””์Šคํ”Œ๋ ˆ์ด ์‚ฌ์ด์ฆˆ)

์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ ํ•˜๋‹จ์—๋Š” ์ฐจ์— ์žˆ๋Š” hard key์™€ Knob control์ด ์žฌํ˜„๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

ํ„ฐ์น˜ ์Šคํฌ๋ฆฐ ์ฐจ๋Ÿ‰์€ ํด๋ฆญ์œผ๋กœ ํ„ฐ์น˜๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ ์ƒ๋‹จ์—๋Š” ๋ช‡๊ฐ€์ง€ ๋น ๋ฅธ ์ปจํŠธ๋กค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

limit UI button ์„ ์‚ฌ์šฉํ•˜๋ฉด ์›€์ง์ด๋Š” ์ฐจ๋Ÿ‰์ด ์นดํ”Œ๋ ˆ์ด ํ™”๋ฉด์˜ ํŠน์ • ์ฝ˜ํ…์ธ ๋ฅผ ์ œํ•œํ•˜๋„๋ก ์š”์ฒญ ๋˜๋Š” ์ƒํ™ฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ค๋””์˜ค ์•ฑ์˜ ๋ชฉ๋ก ๋‚ด์šฉ์„ ์ค„์ž…๋‹ˆ๋‹ค.

Dark UI , Dark Map ์€ UI์˜ ๋ผ์ดํŠธ ํ˜น์€ ๋‹คํฌ ๋ชจ๋“œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

Connected ๋Š” ์นดํ”Œ๋ ˆ์ด์— ํฐ์„ ์—ฐ๊ฒฐํ•ด์ œ, ์žฌ์—ฐ๊ฒฐ ์ƒํ™ฉ์„ ์žฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•  ๋• ํฐ์ด ๋งฅ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, Xcode๋ฅผ ์ด์šฉํ•ด ์•ฑ์—์„œ ์นดํ”Œ๋ ˆ์ด ์žฌ์—ฐ๊ฒฐ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Configure ๋ฒ„ํŠผ์€ ๋” ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ secondary ์Šคํฌ๋ฆฐ์„ ๋„์›๋‹ˆ๋‹ค.

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

์นดํ”Œ๋ ˆ์ด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ๋Š” Instrument Cluster(๊ณ„๊ธฐํŒ) ๋””์Šคํ”Œ๋ ˆ์ด๋„ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„๊ธฐํŒ์€ ํŠนํžˆ ๋„ค๋น„๊ฒŒ์ด์…˜ ์•ฑ๊ณผ ์ฐฐ๋–ก์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๊ณ„๊ธฐํŒ์—์„œ Map ๋””์Šคํ”Œ๋ ˆ์ด ๊ฐ€๋Šฅ


์ฐจ๋Ÿ‰ ๊ณ„๊ธฐํŒ์—์„œ ๋งต ๋””์Šคํ”Œ๋ ˆ์ด๊ฐ€ ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค!

์•ฑ์—์„œ ๊ณ„๊ธฐํŒ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

iOS13์—์„œ ๋„ค๋น„๊ฒŒ์ด์…˜์•ฑ์ด ์นดํ”Œ๋ ˆ์ด ๋Œ€์‹œ๋ณด๋“œ์—์„œ ๋ณด์—ฌ์ง€๋„๋กํ•˜๋Š” API๋ฅผ ์ถ”๊ฐ€ํ–ˆ์—ˆ์ž–์•„์š”, ๊ทธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์•ฑ์˜ info.plist์— instrumentClusterNavigationScene์„ ์„ ์–ธํ•˜๊ณ , ์š”๊ตฌ๋˜๋Š” SceneSessionRole์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  CPTemplateApplicationInstrumentCluster Scene delegateย ์™€CPInstrumentClusterControllerDelegate ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…์ธ ๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” Window๋ฅผ ์ œ๊ณตํ•˜๊ณ , ๊ณ„๊ธฐํŒ์ด ์‹œ์ž‘ํ•˜๊ณ  ๋๋‚˜๋Š” ํƒ€์ด๋ฐ์„ ์•Œ๋ ค์ฃผ๋ฉฐ ๊ณ„๊ธฐํŒ ๋ทฐ๊ฐ€ ๋ณด์—ฌ์งˆ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋์ž…๋‹ˆ๋‹ค

๊ณ„๊ธฐํŒ ๋ทฐ์—์„  ์ข€ ๋” ๊ณ ๋ คํ•  ์‚ฌํ•ญ์ด ๋ช‡๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ณ„๊ธฐํŒ์€ ์‚ฌ์šฉ์ž ๋งต์„ ์คŒ์ธ, ์คŒ์•„์›ƒํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๋Š”๋ฐ, ์ด์— ๋Œ€์‘ํ•ด์„œ CPInstrumentClusterControllerDelegate ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ์•ฑ์ด ๋‚˜์นจ๋ฐ˜์ด๋‚˜ ์†๋„์ œํ•œ์„ ํฌํ•จํ•  ๋•Œ, ์–ธ์ œ ์ด๊ฒƒ๋“ค์„ ๊ทธ๋ฆด์ง€ ๋ง์ง€๋ฅผ ์•ฑ์—๊ฒŒ ์•Œ๋ ค์ฃผ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ์ฐจ๋Ÿ‰์˜ ๋‹ค๋ฅธ ๊ณ„๊ธฐํŒ ์š”์†Œ์— ์˜ํ•ด ๊ณ„๊ธฐํŒ ๋ทฐ๊ฐ€ ๊ฐ€๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ๋Š” viewSafeAreaInsetsDidChange ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ safe area๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ ์ค‘์š”ํ•œ ์ปจํ…์ธ ๊ฐ€ ๊ณ„๊ธฐํŒ์—์„œ ๋ณด์—ฌ์งˆ ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ›ž ์นดํ”Œ๋ ˆ์ด ์‹คํ–‰ ๋ชจ์Šต



์šด์ „์ž ํŽธ์˜์™€ ์•ˆ์ „, ๊ฐœ๋ฐœ์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ํƒฌํ”Œ๋ฆฟ์„ ํ†ตํ•ด ์ผ๊ด€๋œ UI๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค๋Š” ์ ์ด ์ธ์ƒ๊นŠ์—ˆ๋„ค์š”โœจ

์นดํ”Œ๋ ˆ์ด... ์ €๋„ ๋นจ๋ฆฌ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ๋„ค์š”. ํ™”์ดํŒ…๐Ÿ˜Š

profile
i๐ŸŽS ๊ฐœ๋ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2022๋…„ 8์›” 8์ผ

Everyone should now consider that the best method to get where they're going is to readily familiarize themselves with the details of a unique program that allows them pay for the road and do it online, swiftly, and comfortably. Additionally, the most significant coverage functions without transponders across the entire nation. Because downloading Uproad as a useful program is the ideal option if you enjoy traveling, as I do frequently and generally. You can also have a look at the I-495 Express Lanes as an example of how to use such an application to travel there and pay for transportation as swiftly as feasible. Additionally, I discovered more successful outcomes for the expense than if you use

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ