Catalyst: SKCloudServiceController works on wrong Apple Id!

We’ve reported a bug for this and I’m really looking for workarounds in the meantime.

The problem: if you use SKCloudServiceController on Catalina, instead of using the account / Apple Id of the current user’s iTunes/Media account as it should, it uses the account / Apple Id of the current user’s iCloud account instead.

On most installs these accounts are one & the same so the issue is not apparent. However there is a sizeable minority of Mac users who use different accounts for their itunes login and for these users any Catalyst apps which interact with Apple Music will end up interacting with the WRONG account (e.g. they will create playlists for the wrong user).

iOS handles this correctly.

So the question is: is there any way to work around this? Either at the MacOS level (apart from telling users not to use a different account) or at the SKCloudServiceController level (e.g. to specify which account to use)?
A couple of updates on the above:
  • I said above that this is a problem on Catalina. That was a typo: I meant Catalyst, and it only happens on Big Sur

  • While trying to find a MacOS workaround we’ve found that it’s not the iCloud account that gets incorrectly used. Instead, where you have multiple Store accounts, one of them seems to gets picked arbitrarily

So for example if you have one account set up for app / music / tv purchases, and another set up for book purchases, sometimes when you try to make an update to your music library it’s the music library associated with your book purchases that will get updated (if there is one) not the one associated with your music account.

In this scenario, if there’s no music account associated with your book purchase account you’ll find that StoreKit will return the capabilities for this account (of which there will be none) rather than the capabilities of your music account.

So the only workaround we have found for this so far is to tell Big Sur users that they must use the same account for music / app / tv / books. Not ideal.
Catalyst: SKCloudServiceController works on wrong Apple Id!
 
 
Q