iOS Simulator unable to load CarPlay content when `beginLoadingChildItems(at:completionHandler:)` is implemented

Number:rdar://FB7665728 Date Originated:2020-04-16
Status:Open Resolved:
Product:Simulator Product Version:11.4
Classification:Incorrect/Unexpected Behavior Reproducible:Yes
Please provide a descriptive title for your feedback:

iOS Simulator unable to load CarPlay content when `beginLoadingChildItems(at:completionHandler:)` is implemented

Please describe the issue:

When implementing MPPlayableContentDataSource to support browsing an app’s content via CarPlay, implementing the optional beginLoadingChildItems(at:completionHandler:) method causes the iOS Simulator’s CarPlay display to completely break. Top level content items will load, but attempting to navigate deeper in the content hierarchy results in a prolonged loading spinner, followed by the content failing to load.

A demo project is attached which recreates this issue.

Please list the steps you took to reproduce the issue:

1. Implement a class conforming to the required methods of the MPPlayableContentDataSource protocol
2. Open the iOS Simulator, then open the CarPlay external display. Notice that content loads quickly, and navigation to nested content containers is fast and responsive.
3. Implement the optional beginLoadingChildItems(at:completionHandler:) in your MPPlayableContentDataSource implementation, a stub implementation which immediately calls the completion handler will suffice
4. Run the same app in the iOS Simulator, and observe that the initial load is slower, and navigating to nested content results in a prolonged loading spinner, followed by an error alert

What did you expect to happen?

Implementing the beginLoadingChildItems(at:completionHandler:) method should allow me to load content items on-demand in my CarPlay app

What actually happened?

Implementing the beginLoadingChildItems(at:completionHandler:) method causes the simulator to be sluggish, and refuse to load anything but top level content items.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!