So my app review was rejected for trying to create a subscription that will allow users to stream background audio on our video streaming app, to do this we used UIBackgroundModes in info.plist, as far as i know there is literally no other way to allow for background sound without it. Now here is the guideline in question:
4.10ASR & NR Monetizing Built-In Capabilities
You may not monetize built-in capabilities provided by the hardware or operating system, such as Push Notifications, the camera, or the gyroscope; or Apple services and technologies, such as Apple Music access, iCloud storage, or Screen Time APIs.
Now i could accept this, but the whole reason we wanted to include that as a "premium feature" is because a lot of other apps do just that, most noticably Youtube, offers background audio as part of the subscription. Now i want to know if Youtube either solves this in another way (as far as i know it would be impossible without UIBackgroundModes.
Either Google/Youtube has some special deal with apple or i am missing something here. I asked ChatGPT about this and got the response that it's probably because Youtube bundles other features with background audio and doesn't solely charge for background audio. This would also make sense and we do plan on having multiple features (was just testing the subscription setup make sure it will pass review in the future), but i see nothing on the guidelines about this, ChatGPT only inferred this from me describing youtubes situation.
Whilst i wait for apples app review team to respond to my question, i would like some input from other developers regarding this. What are your thoughts/theories on how other apps enable background audio behind a paywall when the guideline states you can't?
I got an answer, and ChatGPT was correct, it needs to be bundled with other features to add value to the whole subscription experience, i understand it as taking payment for a single built in feature is not okay, but combined with other things (Like Youtube does) bypasses the guideline.
The only critique i have here, is that this should be stated clearly in the Guidelines that the guideline can be "bypassed" this way, having to infer it by myself is not really ideal.