This API (currently) is a pile of half-baked crap

  • we are supposed to set up our own web server, and install some some unknown software that dynamically creates a JWT token? It would be nice if Apple could at least write some documentation how to achieve this. Until then I will of course store the token in-app, what else am I supposed to do, I'm a developer not a web server admin? Plus: Wasn't the original idea of the app store to avoid the requirement for developers to run their own server infrastructure?
  • we are supposed to write tons of boiler plate code wrapping the whole API into either Objective-C or Swift classes, #defining dozens of API keywords, piping requests into data tasks and results through JSON parsers and create class instances of it, doing the same programming mistakes over and over until maybe some kind soul posts a working solution on github in 6 months? This is just sad and disappointing. This API should be wrapped into code like for example GameKit wraps its web API into Objective-C.

Replies

More shortcomings:


  • A chart request is supposed to be returning "Song" resource objects. But unlike a "true" song resource object where for example an "albums" relationship can be "&include"d, the song resource returned from the charts request does not respond to any "include" modifiers, hence requiring a second request to get something as trivial as the album name related to the charts song. Amazing.
  • The "artists" resource does not include a "songs" relationship, making it impossible to get the top songs from an artist through MusicKit. This is possible with the iTunes API by using the "entity=song" modifier, so I need to write additional boilerplate code to get an artist's top songs from another API, thanks Apple, good job!

Interesting feedback - be sure to add your report #s to your thread when you Report Bugs against any crap API, full or half-baked, thanks.