본문 바로가기
WWDC

[WWDC20] Accelerate your app with CarPlay

by 고고 2022. 3. 8.

링크: https://developer.apple.com/videos/play/wwdc2020/10635/

 

Accelerate your app with CarPlay - WWDC20 - Videos - Apple Developer

CarPlay is the smarter, safer way for people to use iPhone in the car. We'll show you how to build great apps for the car screen,...

developer.apple.com

 

 

그동안 CarPlay 템플릿은 네비게이션만 가능했지만 iOS 14에서는 네비게이션, 오디오, 커뮤니케이션, EV 충전, 주차, 음식 주문에서 가능합니다.

 

 

CarPlay 디자인 원칙들

- 승객이 아닌, 운전자를 위한 디자인

- 간소화된 상호작용

- 가능하면 앱의 구성을 재사용해 유저가 CarPlay에서 설정해야 하는 것을 최소화하거나 없앱니다.

- 유저가 CarPlay 홈 화면에서 앱을 탭하면 앱이 아이폰이 아닌 자동차 디스플레이에 연결되어야 합니다.

 

 

ios 13 이하 - playable content, ios 14 이상 - CarPlay template.

둘의 공존이 가능합니다.

 

 

playable content 앱의 라이프사이클을 carplay template로 변환하는 방법

1. Info.plist에 이것을 추가합니다.

 

2. CarPlaySceneDelegate를 생성합니다.

CarPlay에 연결되었을 때의 함수와 연결이 해제되었을 때의 함수가 있습니다.

 

위에 있던 ListTemplate를 사용하는 예시입니다. CPListItem으로 아이템을 생성하고, 섹션에 넣어준 후 템플릿을 만들어 푸시해줍니다.

 

 

또한 아이템핸들러로 아이템이 눌렸을 때의 동작을 처리할 수 있습니다. completion()을 호출하지 않으면 앱이 바쁘다는 뜻인 스피너가 표시됩니다. 또한 ios 14부터 동적 리스트 아이템 업데이트에 대한 지원이 추가되었습니다. 읽기 전용이었던 CPListItem의 여러 속성이 쓰기 가능합니다.

 

 

여러 개의 템플릿들을 모아 탭바 템플릿을 만들 수 있습니다.

 

 

예시로는 애플 팟캐스트가 있습니다.

 

 

CPListImageRowItem을 사용할 수 있습니다.

 

listItemHandler는 제목을 선택하면 실행됩니다. 그리고 다른 list 아이템과 마찬가지로 앱이 비동기 작업을 완료한 후 완료 핸들러를 호출해야 합니다.

 

 

Now playing 템플릿.

Playing Next버튼과 아티스트 버튼, 그리고 커스텀 버튼을 제공할 수 있습니다.

 

 

두번째의 즉시 설정하라는 것은 만약 CarPlay 홈 화면에서 Now Playing을 눌렀을 때 즉시 Now playing template를 띄우라는 뜻입니다.

마지막은 Now playing template 스택 위에는 list template만이 추가될 수 있습니다.

 

 

이렇게 사용하면 됩니다.

 

 

커뮤니케이션 앱

 

 

이러한 list 템플릿 아이템의 경우 탭으로 호출되는 것이 아닌 아이템에서 지정한 매개변수를 사용하여 시리가 자동으로 호출되고 유저는 시리를 통해 메세지 작성, 읽기 또는 회신을 할 수 있습니다.

왼쪽에는 읽음/안 읽음 표시가 가능합니다.

 

 

연락처 템플릿이 추가되었습니다.

 

 

 

Point of interest template는 정보 패널과 함께 MapKit 프레임워크에서 제공하는 반응형 지도를 결합합니다.

 

 

아이템을 클릭 시 두 버튼과 상세 정보가 나올 수 있습니다.

 

 

region으로 지역이 바뀔 때마다 지역을 받고 계산하여 PointsOfInterest를 설정합니다.

 

 

region을 받고 자신의 위치 데이터베이스를 쿼리하거나 MapKit을 활용하여 가까운 목적지를 결정할 수 있습니다. 그다음 CPPointInterest 모델 목록을 구성하고 조회 데이터로 각각을 초기화해야 합니다.

 

 

Select 버튼을 추가하는 방법은 아래와 같습니다.

 

 

 

정보 템플릿

 

 

끝입니다! iOS 14부터 적용 가능한 CarPlay 템플릿들에 대해 알아보았습니다.

댓글