Hi Apple Engineers,
I noticed in iOS 16, PlayParameters which part of every Track that has been added/downloaded to the library, now includes two new properties isLibrary & musicKit_persistentID . Unfortunately, these create backward compatibility error when trying to decode the Track object on iOS 15.
I make collaborative playlist app, which stores the Track added by User A which now includes the unique identifier for the locally downloaded file, when attempted to be played by User B won't play any music due to mismatching identifiers (even when everyone is on iOS 16).
This essentially breaks the entire functionality of my app due to these new properties.
Steps:
- Store a Track (which has been added to library) as a JSON object from iOS 16
- Decode the JSON on iOS 15
Expected Results: New PlayParameters variables should be optional, to support backwards compatibility with iOS 15 and to support collaborative uses cases.
Actual Results: New PlayParameters automatically include two new values that cause decoding errors.
I request that at least for an option to ignore the new properties in the PlayParameters in iOS 16.
Here is my feedback: FB11362589
@JoeKun Hope you can looking into this issue. Thanks!