Hi, we’re finally about ready to submit our managed workflow app to the app stores so I’m going through the Deploying to App Stores documentation which says:
Apple will ask you whether your app uses the IDFA: the answer is “yes.” This is because Expo contains the Facebook and Branch SDKs, which contain code for collecting the IDFA, and you’ll need to check a couple boxes on the Apple submission form. See Branch’s Guide for which specific boxes to fill in.
The linked Branch Guide says:
It is important that you answer these questions as accurately as possible.
However, our app does not have ads. But from the Expo documentation, I get the impression that we should answer yes to some or all of these questions because of the FB and Branch SDKs in the managed SDK. Is that correct? Should I answer yes to all 4 questions?
I am having the same problem as you did.
My app does not have ads. What did you answer on those questions?
Did you get your app approved?
I was thinking in answering YES to uses IDFA and letting all the others unmarked.
Hi pablo, We did get our app approved but we didn’t take the managed approach. We took the approach of 1) ejecting our app, 2) manually building Apple and Android builds without all the extra stuff (without FB and Branch SDKs), and 3) git reverting the ejection to continue development. For example, here are roughly the steps we take:
In app.config.js, increment MAJOR_VERSION_NUMBER (Android always requires that the major version is incremented), and set PATCH_VERSION_NUMBER to the current date.
git commit -am "Version X.Y.Z: Major changes"
git tag X.Y.Z
git push
git push --tags
Make sure you’re logged in with expo login (needed to create the right plist info even though we’re not using the managed build service)
expo eject
Review all the warnings and manual steps highlighted by the ejection
iOS:
npx pod-install
Open XCode and then open *.xcworkspace
Wait for “Indexing” to complete
First time: Preferences } Accounts } Add }
Double click on Project } Signing & Capabilities } Team: Set our team
If you want to test in simulators, select the simulator type and click Play
Next to the play/stop buttons, to the right of Project, select Build } Any iOS Device
Product } Archive
Click Distribute App
Wait for an email that “The following build has completed processing”
Wow! You just made my day!
I am still thinking about ejecting, but it will be much easier now.
Thank you.
However, I was wondering about app signing.
As far as I can understand, in XCODE the credentials will be tied to my team when i chose them, right?
In Android, the key store is ejected?
This is my first app, so I am familiar with expo build only.
App signing and all the keys are not easy. It took me a few days to get everything working and it was very confusing. But if you have a week to spare, I think it’s better to do it to have more control.