CarPlay template images falling back to the generic placeholder glyph
I have a template CarPlay app (CPTabBarTemplate → CPListTemplates, with tabs use CPListImageRowItem with ~6–7 CPListImageRowItemRowElement chips per row, each a UIGraphicsImageRenderer bitmap we update on a dirty-checked ~2 Hz loop).
Customers intermittently see every tile image revert to the system music-note placeholder while text labels keep rendering.
From submitted sysdiagnose files, I've isolated two paths to it and want to know if I'm doing something wrong or if this is a framework bug:
- After extended sessions, all template images go blank and stay blank across app force-quit and even delete-and-reinstall — only an iPhone reboot restores them. That points at persistent carplayd-side state surviving my process.
Is there a public-API signal to detect this degraded state, or a way to force the daemon to rebind my images, short of asking the user to reboot?
- At connect, I have sometimes hit a scene-create watchdog kill (0x8BADF00D, 10 s wall-clock) building the image-row tab; the host respawns and shows placeholders during the ~20 s rebuild.
The hung main-thread stack bottoms out in CUICatalog / CUIMutableStructuredThemeStore renditionWithKey: reached via CPListImageRowItemElement.image, and I see "CUIThemeStore: No theme registered with id=0" once per launch.
Is reconfiguring one element re-resolving the whole row's images expected behavior?
What's the recommended pattern to populate images into CPListImageRowItem template at connect without tripping the scene-create watchdog?
Thanks for your help!
Can you please file a bug report and attach a sysdiagnose? We will follow up in your bug report after reviewing the logs.