Using MPMediaQuery and then getting the MPMediaitemPropertyAssetURL from the song results sometimes returns null (and by sometimes I mean in this case, 1/3 of the users song library).
Does anyone know what causes this? I'm assuming that this is due to some sort of DRM, but it isn't documented anywhere.
This answer can respond to your question : https://stackoverflow.com/a/6401317/536308