Apple-Hosted Asset Pack Support in App Review

Does the App Review process have access to Apple-Hosted Asset Packs during review?

My app uses Asset Packs to offer a library of data to the end-user (with a workaround, if unavailable), but I am frequently seeing the workaround screen in App Review with errors I haven't seen elsewhere.

The latest error I encountered (via the App Review team's feedback) was: "A server with the specified hostname could not be found." thrown from (to my belief) AssetPackManager.shared.ensureLocalAvailability. This is unexpected to me, as both this code as well as the asset packs have already been released and are working reliably in production.

Has anyone else experienced these issues?

Answered by App Store Connect Engineer in 876305022

Thanks for reporting this. This should now be resolved. If you're still seeing issues with your review , please contact us.

Accepted Answer

Thanks for reporting this. This should now be resolved. If you're still seeing issues with your review , please contact us.

Thanks for the reply, and possibly the fix. I can't personally confirm anything without seeing a few specific failures in App Store review, so I'll take your word for it.

If I see anything one way or another I'll be sure to come back here and provide an update for future searchers.

We are experiencing a similar issue in App Review. Can you confirm this was fully resolved? This is the first submission of that particular app together with the hosted asset packs, which are thus not yet available in the AppStore. The TestFlight app of the same version is fully working for both internal and external testers. App Review is sharing a screenshot that would only show up if they didn't have access to the Asset Packs. Since the asset pack is essential, no workaround is possible. The app needs the assets in order to start, which it would normally download upon install, even if the essential firstInstallation download fails as described in documentation, we allow the user to retry and call the ensureLocalAvailability(of:) method, which doesn't seem to work for them either.

We have filed for appeal, which got rejected so far. Any clarification would be most welcome.

Hello, @TimDeWachter! I’m glad that you were able to make progress. By default, asset packs work differently for App Review than for App Store and TestFlight users. Specifically, pre-launch downloads are disabled for App Review, which mirrors the experience that an App Store or TestFlight user would see if they previously disabled background downloads on their device by going to Settings > Apps > App Store and turning off In-App Content. The setting is on by default, but users can turn it off if they choose. It sounds like you’re correctly handling that case by showing a fallback screen, but you still need to display the download size on that screen per App Review Guideline 4.2.3 (ii):

If your app needs to download additional resources in order to function on initial launch, disclose the size of the download and prompt users before doing so.

The easiest way to determine the download size is to look at an asset pack’s downloadSize property’s value, which is available in both Swift and Objective-C and which provides the download size in bytes. None of this applies in the normal case in which the user didn’t disable background downloads because then, downloads finish before the user can open your app.

One more thing: If you need to determine whether AssetPackManager.ensureLocalAvailability(of:) will trigger a download, then you can first call AssetPackManager.status(ofAssetPackWithID:) and check whether the returned status value contains AssetPack.Status.downloaded (which indicates that no new download is necessary) or, on OS 26.4, call AssetPackManager.assetPackIsAvailableLocally(withID:) and see whether it returns true (which also indicates that no new download is necessary).

Apple-Hosted Asset Pack Support in App Review
 
 
Q