스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
차세대 CarPlay 아키텍처 소개
차세대 CarPlay 아키텍처를 자세히 알아보세요. iPhone과 통합된 차량 시스템이 차량과 iPhone의 뛰어난 성능을 함께 선보이는 일관적인 단일 경험을 구현하는 방식을 공유합니다. UI를 렌더링하고 합성하는 방법과 각 차량 모델에 맞는 특별한 경험을 구성하고 맞춤화하는 방법을 알아보세요. 이 세션은 차세대 CarPlay에 관심이 있는 자동차 제조업체 및 시스템 개발자를 위해 마련되었습니다.
챕터
- 0:00 - Introduction
- 1:35 - Architecture
- 11:37 - Next generation CarPlay UI
- 21:19 - Enable custom features
- 26:43 - Wrap-up
리소스
관련 비디오
WWDC24
WWDC23
-
다운로드
안녕하세요! 저는 Tanya입니다 Car Experience 팀을 대표해 오늘 이 자리에 나왔습니다 차세대 CarPlay 이면의 메카니즘에 대해 여러분과 공유하게 되어 정말 기쁩니다 제 동료 Ben Crick이 진행한 디자인 시스템 세션을 시청하고 모든 시스템이 어떻게 작동하는지 바로 살펴볼 준비가 되셨기를 바랍니다 세부 사항으로 들어가기 전에 개요부터 살펴보겠습니다 CarPlay가 처음 출시된 이후 자동차가 많이 바뀌었습니다 많은 자동차가 화면이 커지면서
기능도 많아졌죠 사람들은 맘에 드는 iPhone 기능을 CarPlay를 통해 자동차에서 사용하는 걸 좋아합니다 iPhone 사용자는 CarPlay나 모든 운전석 화면에 콘텐츠를 제공하는 차세대 CarPlay를 선택해 사용할 수 있죠 완전히 통합된 인터페이스로 다양한 기능을 갖춘 원활하고 한결같은 경험을 할 수 있습니다 특정 차량의 구성에 완벽하게 꼭 맞는 경험이죠 자동차의 훌륭한 기능과 iPhone의 멋진 기능 친숙한 상호작용 패턴의 결합을 통해 가능합니다
오늘은 이런 기능과 함께 아키텍처를 살펴볼 겁니다 차세대 CarPlay UI 그리고 끝으로 사용자 설정 기능을 활성화하는 방법을 설명하겠습니다 준비되셨나요? 이 새로운 경험을 구현하기 위해 어떤 기능이 추가되었는지 알아보겠습니다 기존 CarPlay 아키텍처를 기반으로 시작하죠 향상된 Siri 버퍼링된 미디어 재생 HEVC 비디오 스트리밍 지원 같은 고급 CarPlay 기능이 필수적입니다 차세대 CarPlay 환경은 무선으로만 작동합니다 이전에 운전할 때 CarPlay를 사용했다면 CarPlay가 매끄럽게 다시 연결되어 나타납니다 무선 연결의 안전성과 성능은 운전하는 동안 매끄러운 경험을 제공하는 데 필수죠 요약하자면 현재 CarPlay는 기본적으로 이런 방식으로 작동합니다 이전에 이미 보셨을 수도 있을 거예요 통신 플러그인이 시스템과 iPhone 사이에 기본 인터페이스로 사용되어 비디오와 오디오 콘텐츠를 전달하고 차량에서 사용자 입력을 받습니다 일반적인 CarPlay 구성에서 이것은 iPhone이 단일 비디오 스트리밍을 제공하면 시스템으로 전달되어 디코딩되고 합성된 후 화면에 표시되는 걸 의미하죠 참 쉽죠! 이제 차세대 CarPlay UI와 여기에 표시되는 모든 것을 살펴보자면 몇 가지가 더 필요할 수 있습니다 주로 계기판 디스플레이에 초점을 맞춰 아키텍처를 살펴볼 겁니다 아주 구체적인 고려 사항과 함께 제공되기 때문이죠 하지만 물론, 차량의 모든 디스플레이에 동일한 개념이 적용돼요
여기서 실제로 무엇을 보는 걸까요? UI를 여러 레이어로 분석해 보겠습니다 가장 앞단의 레이어를 오버레이 UI라고 합니다 오버레이 UI는 아주 필수적인 UI 요소들을 포함하고 있죠 나머지 레이어는 그 밖의 모든 레이어를 포함하고 있습니다 두 레이어는 시스템의 합성기로 합성되어 있고 화면에 바로 표시되죠
오버레이 UI는 정확히 무엇일까요? 오버레이 UI는 차량별 경고등과 필수 표시기를 포함하고 있습니다 이것들은 다시 디자인될 수 있고 일부 경우에는 새로운 UI 경험과 어울리도록 재배치될 수 있습니다 하지만 요점은 이것들이 전적으로 시스템에 의해 렌더링된다는 점입니다
자, 대부분의 UI 요소를 담고 있는 나머지 레이어에는 무엇이 들어 있을까요? 나눠서 살펴볼 수 있습니다 각 레이어는 아주 구체적인 용도가 있죠 맨 아래 UI를 원격 UI라고 합니다 원격 UI는 풍부하고 친숙한 iPhone 경험을 차량에 불러옵니다 지도 앱과 오디오 앱이 여기에 표시되죠 타이어 공기압이나 트립 정보 같은 기능도 나타납니다 예상하셨듯이 원격 UI는 다른 디스플레이로도 확장되어 미디어, 온도 조절 기능과 같은 iPhone 콘텐츠를 추가로 불러옵니다 이 모든 것을 가능하게 하려면 차량의 각 디스플레이에 iPhone 비디오 스트림이 하나씩 필요합니다 이것이 아키텍처에는 무엇을 의미할까요? 단일 디스플레이였던 것에서 이제는 추가 디스플레이에 콘텐츠를 표시해야 한단 의미죠 이건 그리 새로운 기능은 아닙니다 원칙적으로 이 기능은 현재 CarPlay에서 이미 지원됩니다 다음은 뭘까요? 로컬 UI입니다 로컬 UI는 좀 더 흥미롭습니다 실제로 운전 관련 게이지와 표시기를 보여줍니다 로컬 UI는 무엇을 제공할까요? 짧은 지연 시간으로 렌더링되는 UI를 사용할 수 있게 해서 고주파 자동차 신호에 응답할 수 있습니다 Wi-Fi 간섭이나 연결 해제의 영향을 받지 않는 강력한 기능입니다 데이터가 차량에 유지되어서 빠르게 시작할 수 있기 때문이죠 이전에 운전할 때 CarPlay를 사용 중이었다면 차세대 CarPlay는 즉시 시작됩니다 디스플레이에 불이 켜지는 즉시 또는 문이 열릴 때나 운전자가 자동차에 접근할 때 콘텐츠를 보여줄 준비가 되어 있죠 iPhone이 감지되거나 다시 연결되기도 전에 사용자가 탑승하여 출발하자마자 콘텐츠가 표시될 수도 있습니다 이 모든 것이 로컬 UI를 통해 가능한데 시스템에서 직접 또는 로컬로 명확하게 렌더링되죠 그렇다면 로컬 UI는 어떻게 작동할까요? 로컬 UI는 OpenGL 기반 렌더러로 시작되어 차량 자체에서 렌더링이 가능하게 합니다 우리는 애셋 패키지로 이를 증강시키는데 여기에는 동작 스크립트뿐만 아니라 이미지도 포함되죠 이런 스크립트는 UI 생성에 도움이 되는 로직을 구현합니다 애셋 패키지는 각 차량에 고유하며 페어링하는 동안 iPhone에서 전송되죠 차량은 새로운 애셋 패키지를 사용하기 전에 진위를 확인합니다 이 메커니즘은 로컬 렌더링의 모든 이점을 제공하지만 시간이 흐름에 따라 UI가 새로 고칠 수 있는 유연성도 제공합니다 멋있죠? 이런 구성요소를 아키텍처에 추가해 보겠습니다 로컬 렌더러부터 시작해서 특정 차량에 대한 애셋과 스크립트를 추가하겠습니다 그리고 물론 보시는 것처럼 개별 디스플레이마다 이를 수행합니다 이건 여기까지 하고 계속 진행하겠습니다 마지막 레이어는 Punch-through UI라고 하는데 이 UI를 사용하면 자동차 고유의 UI를 경험에 통합할 수 있습니다 디스플레이에 표시되는 운전자 보조 기능 외부 카메라 또는 시각적으로 풍부한 기타 기능을 Punch-through UI로 표현할 수 있습니다 물론 이런 픽셀은 모두 차량에서 렌더링되지만 UI가 여전히 통합된 느낌이 듭니다 Punch-through UI는 표시될 때 우아하게 드러나서 전환 효과와 애니메이션에 매끄럽게 참여합니다 전반적인 경험에 어울리죠 어떻게 이걸 달성할 수 있을까요? 그 내용을 알아보기 전에 지금까지 다룬 내용을 복습해 보겠습니다
먼저, 오버레이 UI와 이 UI가 차량에서 직접 합성되는 방식을 살펴봤습니다 다음으로 원격 UI
로컬 UI 및 Punch-through UI를 살펴봤죠 이 3개의 레이어는 전용 합성기에 의해 처리되고, 합성기는 OpenGL을 사용해 시스템의 합성기에 통일된 단일 출력 프레임을 제공하여 각 화면에 표시합니다 아키텍처로 돌아가서 그 합성기를 추가해 보겠습니다 합성기는 iPhone과 로컬에서 렌더링되는 UI로부터 비디오 스트림을 수신합니다 이제 Punch-through UI도 직접 수신합니다
지금까지 알아본 것처럼 차세대 CarPlay는 자동차에서 로컬로 렌더링되는 콘텐츠와 iPhone에서 원격으로 렌더링되는 콘텐츠를 모두 통합합니다 하지만 경험에는 우리가 iPhone에서 익숙하게 접했던 것처럼 매끄러운 레이아웃 전환 효과와 애니메이션이 포함되죠 이를 달성하기 위해 프레임 수준 동기화를 사용합니다
CarPlay에서처럼 원격으로 렌더링된 각 iPhone 비디오 프레임은 프레젠테이션 타임스탬프를 전달해서 실제로 운전자에게 비디오를 표시해야 하는 때를 명시하죠 차세대 CarPlay는 iPhone의 전용 저지연 채널을 UI 동기화라고 하는 각 디스플레이에 추가합니다 iPhone은 이를 사용해 UI 요소들이 디스플레이에서 이동할 때 렌더링 소스에 관계없이 UI 요소 전환을 신중하게 조정합니다 동작 스크립트는 이 정보를 해석해서 로컬 UI, Punch-Through UI, 원격 UI의 프레임을 초당 60프레임으로 한 번에 한 프레임씩 일치시킵니다 또는 디스플레이에서 할 수 있다면 훨씬 더 빠르게도 가능하죠 마법 같지 않나요? 여러분은 이 부분에서 중요한 역할을 합니다 차량 시스템은 시스템 전체에서 비디오 프레임과 UI 동기화 패킷을 적시에 전달하고 관련 타임스탬프를 유지합니다
마지막으로, 전체 그래픽 아키텍처를 살펴보겠습니다 오버레이 UI를 추가하여 통합되고 앞에서 알아본 것처럼 차량의 합성기에 바로 결합합니다 끝났어요! 차세대 CarPlay의 UI가 생성되는 방식을 전부 살펴봤습니다 이제 이면에 있는 내용을 알아보겠습니다 무엇이 이 UI를 구동할까요? 그건 바로 차량의 상태입니다 차세대 CarPlay는 차량 시스템을 사용해 항상 최신 상태 정보를 제공하고 이 정보는 UI에 반영됩니다 특정 정보가 렌더링되는 위치나 이 정보를 시스템 내에서 사용할 수 있는 위치에 따라 여러 인터페이스를 사용할 수 있습니다 그리고 Apple은 사용자의 개인정보를 철저하게 보호하는 것은 물론 차량 상태에 대한 이런 접근 방식으로 데이터가 필요한 곳에만 사용되도록 할 수 있습니다 대부분의 경우 데이터는 차량 내부에만 머물고 유출되지 않습니다
계기판 디스플레이에 표시되는 UI에 대한 전용 차량 상태 인터페이스와 중앙 디스플레이의 로컬 UI에 대한 유사한 인터페이스가 있습니다 원격 UI의 경우 통신 플러그인이 확장되어 차량 상태를 지원하죠 다시 말해, 차량 상태 정보가 실제로 제공되는 곳은 차량 내 통합과 정보의 가용성에 따라 크게 좌우되죠 이것으로 차세대 CarPlay를 가능케 하는 아키텍처의 개요를 모두 살펴봤습니다 다음으로 이런 새로운 사용자 경험을 실현하는 방법과 상호작용하기 위해 무엇이 필요한지 알아보겠습니다
차세대 CarPlay UI 사용에 관해 이야기할 때 세 가지 주요 작업을 고려해야 합니다 첫째 편안하게 느껴지고 자동차의 고유한 기능에 어울리는 UI를 구성합니다 둘째 UI가 항상 자동차의 상태를 인식하도록 합니다 마지막으로 차량 상태와 사용자 상호작용에 반응하는 UI를 표시합니다 이러한 작업을 완료하려면 차량 상태 프로토콜을 사용합니다 UI 구성부터 시작하겠습니다 차세대 CarPlay는 매우 유연해서 자동차의 기능에 맞춰 조정됩니다 UI 요소는 자동차의 기능이나 구성에 맞게 추가하거나 제거할 수 있습니다 다양한 모델, 다듬기 수준 또는 세부 구성 옵션을 차량 상태 프로토콜을 사용해 특정 기능에 쉽게 매핑할 수 있죠 그 모든 UI 구성은 차량 상태가 초기화될 때 설정되고 세션이 끝날 때까지 변경되지 않고 유지됩니다 구체적인 예로 온도 조절을 살펴보겠습니다 차세대 CarPlay에는 다양한 기능과 성능을 갖춘 다양한 차량 모델에 맞게 설계된 전체 기능을 갖춘 실내 온도 조절 UI가 포함되어 있습니다 하지만 전부 지우고 공백 상태에서 시작하여 원하는 대로 구성해 보겠습니다 먼저, 자동차의 내장을 나타내는 사용자 설정 이미지를 추가합니다 온도 조절 구역 3곳이 따로 있는 5인승 세단을 지원해야 한다고 가정해 보겠습니다 VehicleResources를 사용하고 이 예에서는 식별자 ‘5Seater’를 지정하는데 내부 이미지에 대한 배리언트와 일치하는 거죠 이 이미지의 배리언트를 몇 개나 지원할지는 전적으로 여러분에게 달려 있습니다 예를 들어 자동차에 스포츠 시트나 빨간색 시트를 갖출 수 있고 그 세부 사항을 여기에서 표현할 수 있습니다 새로운 식별자와 어울리는 이미지 애셋을 추가하는 건 정말 쉽습니다
이제 온도 조절 기능을 구성합니다 다음, 지원되는 각 구역에 대한 제어 기능을 추가합니다 운전석 구역부터 시작하겠습니다 여기서는 운전자가 온도, 풍량 통풍구 방향을 조절할 수 있다고 가정합니다 각각에 대한 인스턴스를 생성합니다 온도를 기분 좋고 아늑하게 맞춥니다 그리고 풍량이 있죠 그런데 이 모든 게 운전석에 대한 설정이라는 걸 어떻게 알 수 있을까요? VehicleLayoutKey가 그 일을 합니다 이 자동차에는 운전자가 왼쪽에 앉으니까 이것이 실제로 운전석 구역이죠 인스턴스를 생성할 때 제어 기능도 초기화했습니다 마찬가지로, 이 예에서 통풍구 3개의 제어 기능을 나타내는 인스턴스를 생성합니다 먼저, 상단 통풍구 다음으로 중간 통풍구인데 켜져 있네요 다음으로 하단 통풍구입니다 물론 좌석 히터나 송풍이 있다면 같은 방법으로 추가할 수 있죠 조수석 구역에도 같은 제어 기능이 있어 동일한 패턴을 따르므로 따로 설명하진 않겠습니다 같은 방식으로 구성하기만 하면 되죠 조수석 구역은 온도 조절을 약간 다르게 설정했습니다 뒤쪽 구역으로 넘어가겠습니다
이 예에서 뒷좌석의 동승자는 온도와 풍량만 조절할 수 있습니다 그래서 두 개의 인스턴스를 구성하고 ‘seat_2nd_row’를 사용해 뒷좌석에 인스턴스를 할당한 후 초기값을 지정합니다 뒷좌석 온도 조절 구역이 준비됐네요! 마지막으로, 모든 구역에 적용되는 제어 기능을 구성해 보겠습니다 이 예에서는 실내 공기와 외부 공기 간에 전환하는 재순환 제어 기능 에어컨을 켜거나 끄는 실내 제어 기능 구역 설정을 동기화하는 선택기를 추가했습니다 이 예에서는 동기화 버튼을 누르면 조수석 구역만 운전석 구역과 동기화됩니다 그래서 VehicleLayoutKey를 다시 사용해 이를 구성합니다 끝났어요! 이것으로 이 자동차의 실내 온도 조절 기능을 구성했습니다 방금 한 것처럼 운전자는 Dock에서 온도 조절 기능을 사용할 수 있습니다 전체 온도 조절 UI가 표시되지 않는 경우에도요 제어기를 탭해서 쉽게 접근할 수 있죠 UI 구성 방법을 파악했으니 이제 어떻게 하면 이걸 최신 상태로 유지할까요? UI의 응답성과 정확도를 유지하려면 차량 정보가 항상 업데이트되어야 합니다 운전자가 실제 버튼이나 화면상의 제어기를 누르면 요청한 상태 변경에 대한 알림을 받습니다 빠르게 행동하고, 작업을 실행하고 요청에 따라 상태를 조절하세요
자동차 내부에서 상태 변경이 발생하면 즉시 UI에 알립니다 이 상황에서는 빠르고 즉각적인 응답이 중요합니다 마지막으로, 여러분이 제공하는 값은 운전자에게 표시될 내용을 나타내야 합니다 마무리나 조절은 UI로 전달하기 전에 차량에서 실행되죠 차세대 CarPlay는 사용자가 전송하는 것만 정확하게 표시합니다 그럼 이것이 실제로 어떻게 작동할까요? 여기 로컬에서 렌더링되는 게이지 2개가 있는데 자주 업데이트해야 해야 하는 거죠 왼쪽에 속도계가 있고 속도계는 항상 세 가지 다른 단위로 속도를 표시합니다 맨 위에 있는 정확도가 가장 높은 값인 시간당 미터는 매끄러운 게이지 표시에 사용됩니다 나머지 두 개는 속도를 숫자로 표시하는 데 사용되죠 항상 모든 단위가 필요하고 계산은 UI가 아닌 우리가 해야 합니다 UI는 제공한 값을 표시할 뿐입니다 운전을 시작하면 속도가 증가하고 게이지에 표시됩니다 간단하죠! 오른쪽에는 RPM 게이지가 있습니다 RPM 게이지는 단일 값과 관련 상태로 업데이트됩니다 상태는 대부분 Normal로 설정되지만 운전자가 최대 엔진 속도를 넘는 경우 값과 상태를 둘 다 업데이트해서 UI에 반영할지는 여러분이 결정합니다 예상한 것처럼 실제로 이런 모습입니다
지금까지 몇 가지 예시를 살펴봤지만 우리가 알아본 모든 것이 모든 기능에 적용됩니다 표시할 내용을 구성하고 최신 상태로 유지하세요 다음으로, 표시할 콘텐츠를 어떻게 요청할까요? 운전자가 자동차를 사용할 때 응답으로 뭔가를 표시하려고 할 수 있습니다 운전자가 특정 버튼을 누를 때나 특정 차량 신호에 대한 응답으로 말이죠 무엇을 사용할 수 있을까요? 계기판에 다양한 유형의 알림과 경고 사용자 설정 운전자 보조 보기 또는 사용자 선택 부분에 대한 사용자 설정 선택기를 표시할 수 있습니다 중앙 디스플레이의 원격 알림은 필요한 만큼 유연하고 다재다능하게 구성할 수 있습니다
타이어 공기압 경고를 표시하는 예를 살펴보겠습니다 여기서 이미 TirePressure 인스턴스 4개로 타이어 기능을 구성했고 RequestContent 인스턴스로 계기판에 표시하도록 구성했습니다 운전하는 동안 Pressure와 PressureState를 계속 업데이트합니다 하지만 상태가 저압으로 바뀌면 운전자에게 알리고 싶습니다 표시할 타이어 공기압 UI를 트리거합니다 여기서 운전자가 수동으로 경고를 닫을 수 있도록 허용하고 있습니다 이제 타이어의 공기가 빠져서 납작해지고 UI에 반영됩니다 다른 경고나 알림을 표시하고자 할 때도 동일한 기본 원칙이 적용되죠 중앙 디스플레이에도 마찬가지입니다 자, 이제 후방 카메라는 필수죠! 차량 내에서 카메라를 표시하고 사용하는 것은 흥미로운 도전입니다! 해결 방법은 흥미로운데 실제 카메라 스트림에 대한 Punch-through UI와 사용자 설정 제어 기능에 대한 원격 UI의 혼합이기 때문이죠 여기서 우리는 후방 카메라를 보고 있습니다 운전자가 후진 기어를 넣거나 실제 키 또는 UI의 버튼을 눌러 후방 카메라를 켤 수 있습니다 모든 경우에 두 개의 서로 다른 인터페이스를 사용하는데 Punch-through UI를 표시하는 AutomakerInputStreams와 보려는 사용자 제어 기능을 표시하는 AutomakerExteriorCamera입니다 물론 이런 동일한 API를 재사용해 하늘에서 내려다보는 듯한 카메라 뷰 주차 지원 기능 등을 표시할 수 있습니다 카메라 Punch-through는 운전자가 자동차에 탈 때 빠르게 표시되죠, iPhone이 아직 연결되지 않은 경우에도요 기억하세요. Punch-through는 로컬에서 렌더링된다는 점을요 이것이 실제로 작동하는 방식입니다 동시에 API를 호출하고 주차 공간으로 후진할 준비가 모두 되었네요 좋습니다. 차세대 CarPlay에 포함된 기능을 사용하는 방법을 알아보았으니 더 나아가 사용자화하고 각 자동차의 특별한 경험을 만드는 방법을 살펴보겠습니다 사용자화에 관한 다양한 옵션을 사용할 수 있습니다 매우 시각적이고 전문적인 UI를 표시해 새로운 경험을 추가하려고 할 수 있죠 특정 설정과 설정 메뉴를 제공하려고 할 수도 있고 사용자 설정 경보나 알림을 표시해 운전자와 상호작용하려고 할 수도 있습니다 이 모든 것이 가능합니다 본격적으로 들어가서 이 모든 걸 수행하는 방법을 살펴보겠습니다
차세대 CarPlay에서 자동차의 기능을 선보이는 가장 유연한 방식은 자동차 제조업체 앱을 사용하는 것입니다 자동차 제조업체 앱은 iPhone에서 실행되니까 iOS의 모든 기능을 활용해 나만의 풍부한 사용자 설정 UI를 생성할 수 있죠 물론 시간이 지남에 따라 경험을 계속 업데이트할 수 있습니다 맞춤형 설정을 표시하고 싶으면 운전자가 차량 설정 앱에서 찾을 수 있죠 탭해 보겠습니다 매우 일반적인 설정 옵션 목록이 표시됩니다
여기서 핵심은 여러분이 전적으로 모든 것을 정의한다는 거예요 사용할 설정 유형 레이블, 아이콘 기능, 구조, 순서 등 모든 것이 전적으로 여러분의 선택에 달려 있죠 완전히 사용자화할 수 있는 자동차 제조업체 설정 API를 사용하기만 하면 됩니다 다음으로 방금 정의한 일부 설정이나 기능을 강조하여 쉽게 접근할 수 있게 하려고 할 수 있죠 ProminenceInfo API를 사용하고 원하는 경우 디자인과 분위기를 약간 변경하면 설정이 최상위 수준에 표시됩니다 설정 중 일부는 실제로 차세대 CarPlay 경험 중 하나에 속할 수도 있습니다 아마 온도 조절 아래나 오디오 또는 미디어 설정 아래에 말이죠 만들기도 쉽습니다! 탭해서 무엇이 있는지 살펴보겠습니다
이것들은 모두 여러분이 정의한 맞춤형 설정입니다 보시다시피 여기서 운전자에게 정말 중요한 것을 강조할 수도 있습니다 그밖에 무엇을 할 수 있을까요? 운전자가 온도 조절 일정을 설정하는 방법을 추가하고 싶습니다 그런데 이미 이 기능이 iOS 앱에 있다는 게 생각나네요 그렇다면 그걸 재사용할 수 있을까요? 가능하면 재사용할 수 있습니다 이 설정을 딥 링크가 되도록 구성하기만 하면 됩니다 그러면 운전자가 곧바로 앱으로 이동할 수 있죠 여기서 잠깐 멈춥니다 이 기능을 사용해 이제 운전자는 iOS 앱의 기능에 접근할 수 있습니다 여러분이 정의해서 차세대 CarPlay UI 전반에 추가한 사용자 설정 진입 지점에서 말이죠 정말 대단하네요! 그렇죠? 이제 계속해서 일부 기능이나 설정을 자동차 내 특정 온도 조절 구역에 대부분 적용할 수 있습니다 다시 VehicleLayoutKey를 사용해 운전자에게 편리한 이런 마사지 설정을 만들 수 있죠
이제 운전자가 버튼을 탭할 때 더 많은 옵션이 있는 하위 메뉴에 연결하고 싶은지 선택할 수 있습니다 또는 내장 UI에 이미 고급 시트가 있으면 Punch-through UI를 사용해 이 시트에 연결할 수 있습니다 물론 이건 두 개의 예일 뿐입니다 UI 내 어디에 맞춤형 설정을 추가하더라도 사용자가 설정을 선택했을 때 표시할 내용을 항상 선택할 수 있습니다 마찬가지로 자동차 제조업체 앱에서도 이제 기본적으로 사용자 설정 메뉴에 진입 지점이나 차세대 CarPlay의 UI 내에 내장 Punch-through UI를 추가할 수 있습니다 다음으로 사용자 설정 알림 표시로 넘어가겠습니다 먼저 계기판 디스플레이를 살펴보겠습니다 레이블, 아이콘, 버튼 등의 알림을 완전히 사용자화할 수 있습니다 기존 알림을 유용하게 표시할 수 있도록 설계되었죠 어느 것을 표시할지 결정하고 언제 표시할지 결정하고 언제 제거할지 결정합니다 이런 알림을 사용 사례에 따라 로컬에서 렌더링할지 아니면 원격 UI 내에서 렌더링할지 선택할 수도 있습니다 이제 중앙 디스플레이를 보면 크게 사용자화할 수 있는 동일한 기능을 사용할 수 있습니다 알림을 원하는 대로 충분히 구성할 수 있죠 자동차 제조업체 알림을 사용해서 말이죠 똑같은 API를 사용해서 훨씬 더 많은 작업을 할 수 있습니다 예를 들어 운전자가 자동차의 주행 모드 버튼을 누른다고 가정해 보겠습니다 현재 설정을 표시하고 구성 버튼으로 더 많은 옵션이 표시되게 할 수 있습니다 이제 운전자가 주행 모드 버튼을 탭할 때 버튼이 눌러진 후 무엇을 표시할지 선택할 수 있습니다 여기 나타나는 옵션에 이미 익숙한 분들도 계실 거예요 앱, 사용자 설정 메뉴 또는 내장 Punch-through UI에 연결합니다 여러분의 선택에 달렸습니다 다시 말하지만, 이것들은 몇 가지 간단한 예이지만 많은 가능성이 열려 있어서 정말 기대됩니다! 여러분이 이런 옵션을 사용해서 차량에 차세대 CarPlay를 어떻게 적용할지 말이죠
지금까지 차세대 CarPlay 아키텍처가 현대적인 CarPlay를 기반으로 제작된 방식과 새로운 기능을 추가하는 방법을 살펴봤습니다 차량 내 렌더링, 구성, 차량 상태 지원 같은 새로운 기능이죠 각 차량의 기능과 어울리는 UI를 쉽게 구성하고 제작할 수 있습니다 또한 사용자화된 UI로 특수 기능을 구현하는 다양한 옵션을 제공합니다 더 알아보고 싶으면 링크된 비디오를 시청하세요 기술 문서에 접근하려면 Apple MFi Program에 등록하세요 끝났어요! 오늘 아키텍처 관련 세션에 참여해 주셔서 감사합니다 차세대 CarPlay를 여러분의 차량에 도입해 즐겁게 사용하시길 바랍니다 여러분의 멋진 작업이 정말 기대됩니다!
-
-
18:29 - Vehicle state categories
Audio settings Charging Climate control Closures Drive state Driver assistance Electric engine Fuel High voltage battery Internal combustion engine Media Notification history Notifications Now playing information Paired devices Request content Seat Tire Trip computer UI control Units Vehicle motion Vehicle resources
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.