Background Assets

RSS for tag

Schedule background downloads of large assets during app installation, when the app updates, and periodically while the app remains on-device.

Posts under Background Assets tag

14 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Invalid bundle structure: BackgroundAsset upload to TestFlight
**Hi everyone ** We try to add BackgroundAssetExtension to our project, in local testing work fine, but when we try upload app to TestFlight we get some errors that we don't know how to fix. App Supported Destinations: iPhone, iPad, Mac(Designed for iPad) Minimum Deployments: iOS 12 BackgroundAssetExtension Minimum Deployments: iOS 16.4 Error when try to upload to TestFlight: "<IDEDistributionIssue: severity(error), error(Error Domain=ContentDelivery Code=90171 \"Asset validation failed\" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=Asset validation failed, NSLocalizedRecoverySuggestion=Invalid bundle structure. The \U201cDemo.app/decompressed_data_5.bin\U201d binary file is not permitted. Your app cannot contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. For details, visit: https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle (ID: 3dfe207a-b4e5-43db-9464-fcf59a730545)})>", "<IDEDistributionIssue: severity(error), error(Error Domain=ContentDelivery Code=90924 \"Asset validation failed\" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=Asset validation failed, NSLocalizedRecoverySuggestion=Invalid Info.plist value. (ID: 073b5957-2e5b-4a7b-a4ae-7735b30a2d05)})>" when we checked archive (Show package contents) that many files like compressed_data_1.bin compressed_data_2.bin compressed_data_3.bin compressed_data_4.bin compressed_data_5.bin compressed_data_6.bin decompressed_data_1.bin decompressed_data_2.bin decompressed_data_3.bin decompressed_data_4.bin decompressed_data_5.bin decompressed_data_6.bin We added to main target in Build Phase -> Embed ExtensionKit Extensions Info.plist <key>BAEssentialMaxInstallSize</key> <integer>3250188</integer> <key>BAInitialDownloadRestrictions</key> <dict> <key>BADownloadAllowance</key> <integer>3250188</integer> <key>BADownloadDomainAllowList</key> <array> <string>*</string> <string>*</string> </array> <key>BAEssentialDownloadAllowance</key> <integer>3250188</integer> </dict> <key>BAManifestURL</key> <string>https://*/itemsmeta</string> <key>BAMaxInstallSize</key> <integer>3250188</integer> We will be appreciate for any suggestions :) If need some additional information let me know :pray:
1
0
267
Jan ’25
App cannot fetch any resource after a while
Hi everyone, We came an issue that, In some scenarios in our app we cannot fetch any resources from device (Photo and Contact). One case we catched is putting app in background and spending time in other commonly used apps and coming back to our app cause this issue but there is a small chance that get this issue during using the application. In cell, we are trying to fetch the image like this imageFetchTask = Task { let image = await CompositionRoot.shared.photosManager.image(requestType: .imageCollections, forId: photoAsset.photoId) self.photoImageView.image(image) } and inner layers of this code we get the PHAsset and request image PHAsset.firstAsset(for: id) let manager = PHImageManager.default() manager.requestImage(for: asset, targetSize: request.targetSize, contentMode: .aspectFill, options: request.options) { (image, info) in continuation.resume(returning: image) } We figured out that issue not happening only in Photos also Contacts and any web request. So any help according to this situation is well appreciated. Thanks
0
0
256
Dec ’24
swift DeviceActivityReport run in background
DeviceActivityReport presents statistics for a device: https://developer.apple.com/documentation/deviceactivity/deviceactivityreport The problem: DeviceActivityReport can present statistics with a delay for a parent device (when DeviceActivityReport is presenting, the DeviceActivityReportExtension is called to process the statistics). One possible solution is to call DeviceActivityReport periodically throughout the day in a child device. However, the app will not be available all day. Is there any way to run DeviceActivityReport in the background? I have tried the following approach, but it didn’t work (DeviceActivityReportExtension didnt call): let hostingController: UIHostingController? = .init(rootView: DeviceActivityReport(context, filter: filter)) hostingController?.view.frame = .init(origin: .zero, size: .init(width: 100, height: 100)) hostingController?.beginAppearanceTransition(true, animated: false) hostingController?.loadView() hostingController?.viewDidLoad() try? await Task.sleep(for: .seconds(0.5)) hostingController?.viewWillAppear(true) hostingController?.viewWillLayoutSubviews() try? await Task.sleep(for: .seconds(0.5)) hostingController?.viewDidAppear(true) try? await Task.sleep(for: .seconds(0.5)) hostingController?.didMove(toParent: rootVC) try? await Task.sleep(for: .seconds(0.5)) hostingController?.viewWillLayoutSubviews() hostingController?.viewDidLayoutSubviews() hostingController?.view.layoutIfNeeded() hostingController?.view.layoutSubviews() hostingController?.endAppearanceTransition() Is there any way to run DeviceActivityReport in the background? (when app is not visible/closed). The main problem is call DeviceActivityReport
0
0
368
Nov ’24
Where in App Store are BG asset's keys visible: BAEssentiaMaxInstallSize / BAMaxInstallSize
The background asset keys (BAEssentiaMaxInstallSize/BAMaxInstallSize) referenced in the app's Info.plist will be displayed to users on the App Store, as outlined in the WWDC video and supported by Apple’s documentation. Could you please clarify where exactly on the App Store's product page these values will be visible? Is the size displayed on the App Store a sum of the app bundle size and the size specified in these keys within the Info.plist?
0
0
240
Nov ’24
Essential Assets install vs. update
Hi, I'm implementing a BADownloaderExtension in my app for essential assets. I would like to treat the install case differently than the update case, however it seems whether I "install" or "update" the app (via TestFlight) I always end up getting a BAContentRequest of type .install. I can simulate an update via xcrun, but cannot seem to get into that case in the wild. Is this expected?
0
0
279
Nov ’24
Handle background task (BGProcessingTask) in terminated app state
I am having an issue with scheduling daily background task (eg: nightly) when app is in terminated app state (user forcefully terminated the app from app switcher). If the app is in suspended state, I am able to schedule a daily background task. But is there a way to wake up the app nightly and register a BGTask when user forcefully terminates the app.
1
0
551
Sep ’24
VOIP rejection
The app declares support for Voice-over IP (VoIP) in the UIBackgroundModes key in your Info.plist, but we are still unable to locate any VoIP services. Apps that declare support for VoIP in the UIBackgroundModes key in your Info.plist file must have features that require VoIP. My app rejected for VOIP and the app is totally supported video call or call when app is terminated or in background how can. i solve that rejection issue
0
0
491
Sep ’24
Inquiry about Background Assets and User Experience in App Store
Dear Apple Developer Support, I have a question regarding the Background Assets feature for a game we are planning to release on the App Store. Specifically, I would like to understand the user experience during the initial installation process. If our game utilizes the Background Assets feature and we have essential assets specified in the BAExtension, will the end user need to wait for these essential assets to be fully downloaded before they can open the game after installing it from the App Store? Additionally, during this download process, will there be any indication of the essential assets' download status on the App Store or on the home screen icon of the game? Your guidance on how this process is managed and what the user can expect would be greatly appreciated. Thank you for your assistance.
2
0
751
Jul ’24
Too many BAErrorDomain Code=111 \"The requested download could not be enqueued. Check the device‘s Low Power Mode or Background App Refresh settings.
Hello, I have applied background assets on my app. It does allow you to download resources in advance, increasing the speed of resource presentation. But I found that the download success rate was only 20% (Within an app with tens of millions of users). And most of the error codes are: BAErrorDomain Code=111 "The requested download could not be enqueued. Check the device‘s Low Power Mode or Background App Refresh settings" . Generally speaking, the proportion of low power mode should be around 20%. So why are there so many 111 error codes
0
0
516
May ’24