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-createdenial for the Managed Background Assets Helper trying to create/tmp/com.apple.backgroundassets.managed.helper.serviceinside 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.