Managed Background Assets on iPadOS 26.3: metadata resolves, download never starts

Has anyone seen Managed Background Assets get stuck before any download progress is reported on iPadOS 26.3 / TestFlight?

We are using Apple-hosted managed asset packs for a large on-demand model download. The app can resolve the asset pack metadata: we can show the asset pack’s download size in the UI, so AssetPackManager.assetPack(withID:) appears to work. But when we call ensureLocalAvailability(of:), the UI stays at 0% indefinitely. We also do not receive any useful terminal state from statusUpdates(forAssetPackWithID:): no .began, .downloading, .failed, or .finished.

The app remains responsive. The issue also appears persistent on the affected device/account. Reinstalling the app does not help, reinstalling TestFlight does not help, logging out and back in does not help, and restarting the device does not help. After each attempt, the app can still resolve the asset pack metadata/download size, but the actual download remains stuck before any progress or failure status is delivered.

The suspicious part of the device log is that the managed helper starts normally, fetches/installs the manifest from TestFlight, but repeatedly fails to create its helper directory inside the app container:

OurApp  Initializing the asset-pack manager…
OurApp  Creating a proxy object for the helper service…
OurApp  activating connection ... name=com.apple.backgroundassets.managed.helper.service

kernel  Sandbox: no system container path found for ID "com.apple.backgroundassets.managed.helper.service"

Managed Background Assets Helper Service  Starting the Managed Background Assets Helper Service…
Managed Background Assets Helper Service  Configuring the directory suffix…
Managed Background Assets Helper Service  The directory suffix was successfully configured.
Managed Background Assets Helper Service  The extension token "<...>" was consumed.

kernel  Sandbox: Managed Background Assets Helper(...) deny(1) file-write-create /private/var/mobile/Containers/Data/Application/.../tmp/com.apple.backgroundassets.managed.helper.service

Managed Background Assets Helper Service  mkdir: path=/private/var/mobile/Containers/Data/Application/.../tmp/com.apple.backgroundassets.managed.helper.service/ mode= -rwx------: [1: Operation not permitted]

After that, manifest fetching still seems to work:

OurApp  The asset-pack manager has been initialized.
OurApp  The system download-manager delegate has been assigned to the download manager.
OurApp  The app was installed for internal beta testing; checking for updates automatically…
OurApp  Refreshing the manifest…

Managed Background Assets Helper Service  The app with the bundle ID "..." is configured to use Apple hosting.
Managed Background Assets Helper Service  Asking the TestFlight extension via the App Store Daemon for the URL request...
Managed Background Assets Helper Service  Fetching the download manifest ... from TestFlight…
Managed Background Assets Helper Service  Installing a manifest at ".../Library/Application Support/.../Manifest.json"...

But during/after manifest install, the same mkdir failure appears again:

Managed Background Assets Helper Service  Installing a manifest at ".../Manifest.json"...
Managed Background Assets Helper Service  mkdir: path=/private/var/mobile/Containers/Data/Application/.../tmp/com.apple.backgroundassets.managed.helper.service/ mode= -rwx------: [1: Operation not permitted]

kernel  duplicate reports for Sandbox: Managed Background Assets Helper(...) deny(1) file-write-create /private/var/mobile/Containers/Data/Application/.../tmp/com.apple.backgroundassets.managed.helper.service

So the behavior seems to be:

  • TestFlight/internal beta install
  • Apple-hosted managed asset pack
  • Manifest fetch succeeds
  • Asset pack metadata resolves, including download size
  • Actual local availability request never starts reporting progress
  • No visible Background Assets failure reaches the app
  • Logs show repeated sandbox file-write-create denial for the Managed Background Assets Helper trying to create /tmp/com.apple.backgroundassets.managed.helper.service inside the app container
  • Reinstalling the app/TestFlight, logging out and back in, and restarting the device do not clear the stuck state
  • On devices with 26.4, the issue doesn’t seem to exist

Has anyone else seen this on iOS/iPadOS/macOS versions before 26.4? Is this a known issue in the Managed Background Assets helper/runtime? I noticed 26.4 added more local status APIs for asset packs, so I’m wondering whether this area changed in 26.4.

Any hints on whether the sandbox denial is expected/noisy, or whether it could explain ensureLocalAvailability(of:) never progressing, would be appreciated.

The fix turned out to be trivial:

When adding the target for the BA download extension in Xcode, we forgot to change the deployment target to 26.0. Instead, the default of 26.4 was used, so the download extension was simply unavailable on older systems. 🙄🤦‍♂️

Managed Background Assets on iPadOS 26.3: metadata resolves, download never starts
 
 
Q