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

16 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

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
37
2d
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
100
1w
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
286
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
267
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
521
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
356
May ’24
XCode Oragnizer some Reports broken since Background Assets Framework
In XCode organizer, under reports section, Crashes info shows fine with call stacks but Disk writes, Energy and Hang reports sections are broken since Background Assets frameworks integration. Error msg: The operation couldn't be completed. ((extension in DVTProducts):DVTAppStoreConnect.AppExtension.(unknown context at $10beb2a18).AppExtensionError error 0.) Xcode failed loading app information. How to fix this error and get the reports under Disk writes, Energy and Hang reports section?
1
0
684
Feb ’24
urlSession(_:task:didCompleteWithError:) does not fire when session configured for background
Hardware: iPhone 12/iOS 15.1.1 I am having problems getting urlSession(_:task:didCompleteWithError:) to fire when session configured for background. I set up my background session and uploadTask as such: let config = URLSessionConfiguration.background(withIdentifier: "my.unique.session.identifier") config.isDiscretionary = false config.sessionSendsLaunchEvents = true config.allowsCellularAccess = true config.httpMaximumConnectionsPerHost = 1 config.timeoutIntervalForRequest = 30 config.timeoutIntervalForResource = 60 let session = URLSession(configuration: config, delegate: yourDelegate, delegateQueue: nil) let task = session.uploadTask(with: request, from: data) task.resume() First, I confirmed that I can upload using the above code. Then to simulate a timeout, I set a breakpoint in Charles Proxy on the response. When triggered, I just wait. urlSession(_:task:didCompleteWithError:) is never called, no matter how long I wait. I can "see" the background session periodically retrying the upload, because I having logging in urlSession(_:task:didSendBodyData:). Every time didSendBodyData is called, it triggers the breapoint in Charles Proxy. And I wait. didCompleteWithError never gets called. One more observation: if I change the session config from 'background' to 'default', didCompleteWithError is triggered. Thanks!
1
0
522
Jan ’24
The requested URL is not permitted to be downloaded until the application is launched.
I have the following problem when using background asset: "The requested URL is not permitted to be downloaded until the application is launched." My code is as follows: NSDictionary *infoDict = [NSBundle mainBundle].infoDictionary; self.downloadAsset = [[BAURLDownload alloc] initWithIdentifier:@"BAManifestURL" request:[NSURLRequest requestWithURL:[NSURL URLWithString:infoDict[@"BAManifestURL"]]] essential:NO fileSize:1610612736 applicationGroupIdentifier:@"group.com.iphone.share" priority:BADownloaderPriorityDefault]; The configuration file is as follows: Please tell me how to solve this problem.
0
0
460
Jan ’24
BackgroundAssets framework visionOS implementation
Hello, we need to allow background downloading of assets from the network and into our visionOS app. For that purpose, we would like to implement Background Assets framework since the Apple web page of the framework indicates that it is supported on visionOS. Unfortunately, Xcode 15.1 beta 3 does not allow us to add the Background Download extension. How can we use Background Assets framework in our visionOS app? Is there another way to create the background download extension? Thanks,
1
0
616
Dec ’23
BAURLDownload failed on inaccurate fileSize when non-essential
Hi everyone, I'm integrating BackgroundAssets into my app and run into the following issue. According to the docs fileSize only needs to be accurate for essential downloads /// @abstract Constructs a download object to represent the download of a asset located inside of the provided @c request. /// @param identifier A unique identifier that is used to track the download across the app and extension. /// @param request The request used to perform the download. The URL provided inside of the request must be a https scheme. /// @param essential Whether the download is essential. See @c BADownload.isEssential. Default is false. /// @param fileSize The size of the file to download. For Essential downloads, this field must be accurate in order to show the user /// accurate progress during app installation. If the size does not match the file being downloaded, then the download will fail. It is recommended to /// report an accurate @c fileSize for both Essential and Non-Essential downloads. /// @param applicationGroupIdentifier The identifier of the application group that should used to store the finished download. /// @param priority A priority between @c BADownloaderPriorityMin - @c BADownloaderPriorityMax which is used to order the downloads for this process. /// It is recommended to use @c BADownloaderPriorityDefault if download priority does not matter. @available(iOS 16.4, *) public init(identifier: String, request: URLRequest, essential: Bool, fileSize: Int, applicationGroupIdentifier: String, priority: BADownload.Priority) However, when I'm queueing up non-essential downloads with inaccurate fileSize, my BADownloadManagerDelegate gets a failedWithError callback, with error The download failed because the file size provided does not match what was downloaded. This happens for me when the app needs to download a new version of the manifest, which contains the information about all the other background assets that needs to be processed. Is the documentation wrong and fileSize must always be accurate, even for non-essential downloads? All help is appreciated to resolve this.
2
0
715
Dec ’23
XCode oragnizer Disk writes, Energy and Hang reports broken
Hi, In XCode organizer, under reports section, Crashes info shows fine with call stacks but Disk writes, Energy and Hang reports sections are broken recently. When I try to access any of these sections it says "The operation couldn't be completed. ((extension in DVT Products):....[Attached error screenshot]" How to fix this error and get the reports under Disk writes, Energy and Hang reports section? Regards, Eshwar
1
0
901
Feb ’24