iosautomationcommand-line-interfacevisual-studio-app-centeron-demand-resources

Automated iOS AppStore Upload with On-Demand Resources


What is the correct way to automate an iOS build upload to AppStoreConnect that uses On-Demand Resources? The tools/solutions I have tried are App Center and xcrun cli which only allow uploading an *.ipa.

My understanding is that the ODR resources will not be included in the ipa as it should contain everything except for Resources used as Download on Demand. There is no ASSET_PACK_MANIFEST_URL_PREFIX set as I want to use Apple's Hosting solutions (which happens if an upload is done manually through Xcode). EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE set to YES will embed the ODR into the ipa but this will increase its size and I "assume" then cause the assets that we're initially Download on Demand to be downloaded by the user in a production setting (TestFlight/AppStore) with the app download.


Solution

  • For App Store builds, you should set EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE to YES. This will include them in the IPA, however they will not be downloaded with your App for Test Flight and App Store builds. This will be reflected in the "Compressed File Size" on App Store Connect General Build Information.

    Note, it can take quite a while for Apple to process a build with on-demand resources. Ours typically take 3-4 hours.