I have a new simple app that has been rejected for macOS AppStore.
*### Guideline 2.5.1 - Performance - Software Requirements*
*The app requests access the Apple Music library, but there does not appear to be any features in the app that use this functionality.*
My app does nothing with audio, music, … or anything remotely.
No clue why this happens:
Anything in the .plist? Maybe an entitlement? Are you using AppWrapper and enabled the Music option?
Edit:
I found why. It is this code:
Var c as NSMediaLibraryBrowserControllerMBS
c = NSMediaLibraryBrowserControllerMBS.sharedMediaLibraryBrowserController
c.mediaLibraries = c.NSMediaLibraryImage
c.Visible = True
I did not used c.NSMediaLibraryAudio - c.NSMediaLibraryMovie, so it should not ask for Apple Music Library at all.
Could be a MBS issue.
Please switch to PHPickerViewControllerMBS class, which doesn’t need permissions.
1 Like
Yes, I know but this only works for macOS14+ so leaving older versions than 2 years out of scope. Not sure if that is a good idea.
There are a lot of apps that still use NSMediaLibraryBrowser and do not ask for permission to use the Apple Music Library.
Also, their NSMediaLibraryBrowser is a bit different than the one you get with your plugins. For example in yours there is a ‘play’ button which is not in the other apps versions (also using NSMediaLibraryBrowser). I guess the ‘play’ button is shown because audio/music files are possible to select.
Maybe there is something wrong with the NSMediaLibraryImage, NSMediaLibraryAudio, NSMediaLibraryMovie constants?
No it’s an Apple policy change. You need to make an update if you wish to continue using that class. Add the Apple Music entitlement or switch classes.
That is the choice Apple gave you.
Did you read the actual issue? I do not want any access to the Apple Music Library. So why would I add a entitlement for this?
Anyhow … update from the reviewer:
It seems that when using NSMediaLibraryBrowser it always asks for permissions even if you do not use the Audio or Movie parts of NSMediaLibraryBrowser. That was not the case in previous macOS versions.
Which is an extremely odd thing to do unless you want devs to force using PHPickerViewControllerMBS.
I already implemented PHPickerViewControllerMBS now and it is in review now.
There are some things I do not like of PHPickerViewControllerMBS:
- The window cannot be resized by the user. You need to set this to a certain size.
- It seems only popover is possible (although that can be wrong).
- Working with Representationfiles needs some thinking to do it right - but is no rocket science either.
Attitude unnecessary. Apple made that choice. The reviewer even said as much.
2 Likes