FYI, my prepareToPlay bug reports were all marked as duplicates today, so at least there's confirmation that they're being looked at?
Also, I was spending a little more time yesterday looking into work-arounds and found that my problems with setting "currentPlaybackTime" only occurred after calling the "setQueue" method. A normal sequence of calls for me would be:
- Call "setQueue"
- Call "prepareToPlay"
- In the completion handler (among other things) set "currentPlaybackTime"
- Call "play"
If I don't set the queue each time before "prepareToPlay" is called, previous versions would throw an error. So if I were to pause playback and attempt to resume, in previous versions it would be acceptable to re-set the queue, call "prepareToPlay" and set the currentPlaybackTime to where playback was stopped and begin playback.
Now, with 11.3 and 11.4, setting currentPlaybackTime in this scenario often has no effect and playback will start at the beginning of the song. If I change it to set the queue only once (like when the selection changes) prepareToPlay will not throw and error and setting currentPlaybackTime will work. Playback will start at the moment that the completion handler is called (which is wrong), but it still gives me a chance to stop spinners and start counters, etc.
It's not perfect but it provides a solution to those using my app with version 11.3 that was released with this bug.