Ejecting and whether all advertising ID collection code (i.e. Segment, Amplitude) is removed


I have been developing a simple app for iOS and Google Play. Normally when developing and building in the Expo managed workflow, I would have to declare that my app collects the advertising ID due to including the code from the Segment and Amplitude packages.

As I do not want to include this code and declare this (and ask for the user’s permission on Apple), I ejected the app to (I believe) the bare workflow, and followed the instructions here to explicitly exclude the expo-analytics-segment and expo-analytics-amplitude packages.

Is this sufficient to remove all code that requires that I declare that I collect an advertising/device ID? It is worth mentioning that I have had the ejected app reviewed by Apple without declaring, and it has been approved - I would simply prefer to make sure that there should be no issues before allowing the app to be downloaded.

Thank you.

you don’t actually need to eject for this, you can build with EAS Build to only include the packages included in your app: EAS Build — April Preview Update. Managed Support, Secrets, and More | by Jon Liak | Exposition

you also don’t need to exclude modules explicitly if they’re not in package.json. excluding modules as specified in that doc is only really useful if you want to, for example, include a library on ios but not on android, so you want to prevent it from being linked on android. only libraries that are included in your dependencies will be included in the app.

Hello Brent, thank you for your reply. I will definitely look into the EAS Build process in future.