I am facing a problem with Apple’s App Store rejecting my Kids Category app due to the presence of code to serve ads, collect analytics or personal information, even though I don’t serve any ads or collect any information, nor added any SDK that could do that in my app. The rejection description doesn’t inform me which SDK is causing the problem.
This is a very similar problem to the one in Android explained here (which has no solution without ejecting the app).
I am using Expo 39 and building the app bundle using the managed workflow.
It wasn’t an issue when I launched my app (it was an issue in Play Store), but now that I need to do an important update (just changing a few images) it is being rejected.
Is there anyone that I can remove all unused SDKs that might be causing the issue in my managed workflow build of iOS?
The rejection:
Guideline 1.3 - Safety - Kids Category
We noticed that your Kids Category app includes analytics, advertising and collects, transmits, or has the ability to share personal information or device information with third parties.
Hi @deltasoneca, sorry about this, but the thread you linked pretty much contains all the information we have about this topic already. There’s no way to remove specific SDKs from your app in the managed workflow right now, although it’s something we’re working on and hope to have a beta for soon.
Both Apple and Google provide strict guidelines for any apps that specifically target children under a particular age. One of these guidelines states that certain ad libraries, such as Facebook’s Audience Network, cannot be used in the app. Since managed workflow apps contain code for the entire Expo SDK by default, including Facebook’s Audience Network library, you cannot list your app as “designed primarily for children under 13” in the App Store or Play Store, even though this code is never run unless you explicitly call it .
You can continue to use the managed workflow for all your development, but when it comes time to build your app files for the stores, you should run expo eject and build natively with Xcode and Android Studio. We’re working on letting you customize exactly what libraries are included in your managed workflow projects, so thank you for your patience in the meantime!
The link you provided is not working. Can you be more explicit about this limitation in your managed workflow docs please? The inability to develop a children’s app seems like a major drawback. I’m helping a friend develop an app as a side project, I chose expo because I’m primarily a web developer.
I suppose I’ll dive into the bare workflow and try to release that way, but it would have been good to know starting out that I would run into this.
From various things that the Expo team have written recently, they are working to make it easier to customize the things that are included in an app even in the managed workflow and they are also working on allowing you to build Bare workflow apps using Expo’s build service too. I am not sure when these features will be available, so in the meant time you would have to eject and build it yourself.