Going back and forth between managed and ejected

Hi, as we’re about to submit our managed app to the app stores, I’m worried about some of the IDFA stuff and other things which we don’t need that will balloon permissions and file size.

First, on ejecting, if I don’t explicitly reference things like the FB and Branch APIs, then will those not be brought into the app or do I have to do some explicit work to remove them?

Second, is the following a reasonable workflow?

  1. Eject from the app, and build and submit the minimal standalone app to the app stores
  2. Revert the ejection and continue development in managed mode
  3. When the app needs a new update in the app stores, eject again and submit (including increment version numbers, etc.), and then go back to step 2 and repeat.