MPPlayableContentDelegate docs do not match behaviour

Originator:gspiers
Number:rdar://33449305 Date Originated:21/07/2017
Status:Closed (fixed 2018-12-07) Resolved:
Product:iOS CarPlay Product Version:10.3.3
Classification:Bug Reproducible:Always
 
Area:
CarPlay

Summary:
The documentation for the method playableContentManager:didUpdateContext: on MPPlayableContentDelegate says the following regarding the context param: "context – The previous context of the content manager before the change."

From my investigation this isn't the case, the context passed in is actually the current/new context. It's easy to confirm this by just checking that the other param, 'contentManager', context and seeing they are both pointing to the exact same object in memory.

The first param 'contentManager' has a context property that is equal to the second param 'context' passed in.

Steps to Reproduce:
In a CarPlay enabled app set a break point in playableContentManager:didUpdateContext: in the app's MPPlayableContentDelegate.
Connect/disconnect to a CarPlay head unit.
In the debugger po contentManager.context and context and notice they are the exact same object.

Expected Results:
The context passed in should be the previous context before the updates. Just as the docs specify: "context – The previous context of the content manager before the change."

Observed Results:
The context param is the current/new context value.

Version:
10.3.3

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com 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!