CarPlay Communication app not appearing on the CarPlay dashboard — is SiriKit messaging support required for registration?

I have an iOS 17+ app (SwiftUI lifecycle, @UIApplicationDelegateAdaptor) with the granted com.apple.developer.carplay-communication entitlement. It's a voice-message app for family (leave/listen to short audio messages).

The app does not appear in Settings → General → CarPlay, nor on the CarPlay Home grid, on a real head unit — across multiple TestFlight builds and full phone reboots. The iPhone app itself launches fine.

Verified:

  • The App Store distribution provisioning profile carries com.apple.developer.carplay-communication.
  • The build is signed with that entitlement.
  • Info.plist declares a CPTemplateApplicationSceneSessionRoleApplication scene with UISceneClassName = CPTemplateApplicationScene, a UISceneConfigurationName, and UISceneDelegateClassName pointing to a CPTemplateApplicationSceneDelegate.
  • The delegate synchronously sets a root CPListTemplate in templateApplicationScene(_:didConnect:).

My questions:

  1. Does a CarPlay Communication app require SiriKit messaging support (INSendMessageIntent, INSearchForMessagesIntent, INSetMessageAttributeIntent, the Siri entitlement, NSSiriUsageDescription, INIntentsSupported) in order to be registered/shown on the CarPlay dashboard? My app currently uses custom CPListTemplate rows with a direct audio recorder and no SiriKit intents.
  2. How can I confirm whether the App Store / TestFlight–re-signed build actually carries the carplay-communication entitlement at runtime?
  3. For an audio-message app that must never transcribe audio, is INOutgoingMessageType.outgoingMessageAudio the correct approach, and should playback use the SiriKit read flow rather than CPNowPlayingTemplate (which appears to require the Audio entitlement)?