I'm not sure this is 100% true. From browsing the spotify support forums many moons ago, some guy had built a spotify playing app for the apple watch, but spotify squashed it. Given that some random dev could do this, it doesn't seem like apple prevented anything.
It streams Spotify directly without your phone and has a very flaky offline mode.
The developer tweeted that Spotify (not Apple) asked him to remove it four days after it reached the App Store.
I was lucky enough to get hold of it in that brief window and use it often.
On the other hand Spotify did squash this guy's app. That's a thing that happened. So it's not like the APIs aren't there.
So now we're taking Spotify's word that Apple is keeping them off the app store, while ignoring the fact that said app is possible and they themselves have kept an app off the app store.
Sounds like PR bullshit all around.
- If you're deep into iOS development you know that Apple apps - the ones shipped with the OS - sometimes do things that 3rd party apps aren't able to. For example the Music app gets to be the _default_ app to live in the control panel even if you hardly ever use it and are using Spotify most of the time.
- I believe - for the Apple Watch - some of the 3rd party apps which were already available on the day of the launch were a) invited to preview the Watch ahead of other developers and b) in some cases allowed to use undocumented APIs. Uber may be one example of this - https://www.macrumors.com/2017/10/05/uber-removing-apple-gra...
Apple has been inviting 3rd party developers to preview technologies for a while e.g. https://appleinsider.com/articles/16/06/17/apple-invites-dev... so it seems to be standard practice.
As I read this "Time to Play Fair" website, it looks to me like Spotify is complaining they weren't invited to these preview sessions and thereby didn't get to learn about / get permission to use undocumented APIs.
Of course IANAL
I inferred this from the vague wording in the earlier points and the clarifications in the later points.
> When Apple launches their new Apple Watch, they dismiss our proposals and won’t work with us to develop an app for it.
Notice, they didn't say they were blocked. Also why would building an app for the watch necessitate a proposal to Apple that requires Apple to work with them directly? Wouldn't you instead build your app and submit it for approval? This is probably because the Apple Watch SDK didn't provide all the functionality Spotify wanted, and so Spotify was trying to get Apple to add new functionality to the SDK.
> We submit a new proposal for a streaming app directly on the Apple Watch. Apple declines
> With WatchOS 4, Apple continues to make it challenging for us to deliver a workable streaming solution for the Apple Watch
Again, doesn't say they were blocked, just that proposals were rejected and the provided functionality made it difficult/impossible to do what they wanted.
> With Watch OS 5, Apple allowed the Spotify team to start developing offline functionality
Was this the functionality Spotify was proposing for Apple to make possible all along? In other words, was this the missing part of the SDK that Spotify had kept proposing to Apple and having rejected (not the app itself, which they didn't want to build without this functionality)?
EDIT: I'm also not saying they didn't build the app and submit it and have it rejected. They just never actually say that in the timeline.
Did that guy's app make it on the App Store? He could have easily built it with private APIs which would work but wouldn't pass review (maybe, App Review is very inconsistent) or many other reasons why he could and Spotify couldn't.
This is a VERY different statement than the true one which is:
Apple didn't allow ANY streaming music (or audiobook, or podcast) apps on the watch due to not providing the API's. They didn't specifically block Spotify.
If anything it makes the case that if it were so simple for a single random dev that unless Apple itself were preventing it there is no reason the app wouldn't have been released.