This is becoming a big issue for us. We have a MusicKit app developed using Catalyst and since we released the Mac version we’ve had a constant trickle of users who seem to be completely unable to use the app because SKCloudServiceController().requestCapabilities reports that they do not have .addToCloudMusicLibrary capability, although this is clearly incorrect and they have all the right permissions (the iOS app version works fine).
After a LOT of investigation we’ve discovered that on a Mac where the logged-in user has:
- iCloud logged-in using Apple ID “user1”
- App Store & Book Store logged-in using Apple ID “user2”
- Apple Music/iTunes/Media logged-in under Apple ID “user3”
SKCloudServiceController().requestCapabilities will sometimes report the Apple Music capabilities of “user2” or even “user1” rather than “user3”.
This is very bad: it should only ever use the “user3” account. In one situation, user2 actually had an Apple Music account with the requisite permissions and our app ended-up creating playlists in user2’s account rather than user3’s account.
We’ve reported this as a bug (FB9100381) but heard nothing back. Can someone please acknowledge that this is being looked-at?
The issue does appear to be intermittent and some Mac’s work fine. However we find that a brand-new Mac set up with a single user account where that account uses different apple id’s, as above, the issue is quite easy to reproduce.
iOS handles this 100% correctly. It’s only a MacOS (Big Sur) issue and we’re getting a constant trickle of unwarranted of 1* reviews because of it.
Thanks!