CarPlay integration for a VoIP app without a template

Our VoIP app already implements CallKit and Siri. So, within the iPhone, we can start calls using Siri. These are prerequisites for the CarPlay integration.

Our deployment target is iOS 14, so to integrate CarPlay, the implementation of scenes is a requirement. However, our app should remain a single-window app. So, I've implemented scenes adding a single main scene.

When I tap on my app in the CarPlay Simulator, it opens a blank window. Then, it crashes with the error: "Application does not implement CarPlay template application lifecycle methods in its scene delegate."

All the third-party VoIP apps I've tried, instead of opening a window, ask you through Siri who you would like to call. So, it seems to be possible to avoid implementing a CarPlay template and just activate Siri. How can I obtain this behavior?

Answered by Frameworks Engineer in 789685022

Hi, your app needs to implement the CPTemplateApplicationSceneDelegate methods. When your app receives a CarPlay scene, it should present a root template - usually a tab bar template or a list template.

The legacy VOIP apps you tried are likely using a Siri API that launches straight to Siri when the app is opened. This API has been deprecated, and modern communications apps need to present templates.

Please see https://developer.apple.com/carplay/ for lots of resources on developing with templates, in particular the application guide: https://developer.apple.com/carplay/documentation/CarPlay-App-Programming-Guide.pdf

Accepted Answer

Hi, your app needs to implement the CPTemplateApplicationSceneDelegate methods. When your app receives a CarPlay scene, it should present a root template - usually a tab bar template or a list template.

The legacy VOIP apps you tried are likely using a Siri API that launches straight to Siri when the app is opened. This API has been deprecated, and modern communications apps need to present templates.

Please see https://developer.apple.com/carplay/ for lots of resources on developing with templates, in particular the application guide: https://developer.apple.com/carplay/documentation/CarPlay-App-Programming-Guide.pdf

Hi, thanks for the answer.

I understand that launching straight to Siri is deprecated, so I will implement a template. However, our CarPlay integration is urgent. Can I publish our app with only Siri support in the meantime? If yes, how can I do it?

CarPlay integration for a VoIP app without a template
 
 
Q