On demand resources

RSS for tag

On-demand resources are app contents that are hosted on the App Store and are separate from the related app bundle that you download.

On demand resources Documentation

Posts under On demand resources tag

26 Posts
Sort by:
Post not yet marked as solved
0 Replies
39 Views
Hello everyone, we are trying to submit our iOS app for pre-order, which requires the app to be reviewed by Apple. Unfortunately, it keeps failing when accessing On-Demand Resources that need to be downloaded before the app starts. We are aware that ODR is not designed for pre-start downloads, but that's how we're using them right now. So please refrain from asking if we understood how to utilize On-Demand Resources. App Review is seeing the following error (screenshot): We are unable to reproduce this error. The download of required resources works fine for all of our devices, as well as for some external testers. They all used a normal Wifi connection. Does anyone know if there is something special in the review environment? For example, do they use physical or virtual devices, a VPN or normal Wifi or a (maybe simulated) cellular connection? We had no luck on any documentation about the error "MZCommerce.NoProductInStoreFront". Does someone happen to know what kind of problem is usually connected to MZCommerce errors when it comes to On-Demand Resources? Thanks for your help!
Posted Last updated
.
Post not yet marked as solved
2 Replies
335 Views
I'm trying to get my iOS app to work on Apple silicon Macs, but ODR (On-Demand Resources) don't seem to work. It seems like the Xcode doesn't even acknowledge existence of ODR in the project when run as an iOS app for Mac on my M1 MacBook Air. I've created a very simple Xcode project to verify the issue, which only has a single image tagged as ODR. Checking the Disk tab in the Debug navigator, the ODR is shown correctly when running on a simulator: ...Yet when run as an iOS app for Mac it simply shows No Resources: The beginAccessingResources(...) call predictably fails, too, with the following error: Error: Error Domain=AssetErrorDomain Code=7 "Invalid status code `404`" UserInfo={NSDebugDescription=Invalid status code `404`, NSUnderlyingError=0x600003fd5fb0 {Error Domain=AssetErrorDomain Code=1404 "(null)"}} There are other messages in the console that could be related to the issue. The first thing the app logs when run as an iOS app for Mac, is this message repeated several times: 2022-01-20 12:14:41.566305+0000 ODRTest[29926:333135] [default] could not create original path for node <FSNode 0x600003191ca0> { isDir = ?, path = '/private/var/folders/kw/g_lttmtn0yx747mvzjmbksbc0000gn/X/FE0DB2BA-8F2D-5783-9BE1-891F8E117EC9/d/Wrapper/ODRTest.app' }, proceeding: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted" ODRTest is the name of the Xcode project I use to reproduce the issue. Nothing else is logged apart from these repeated messages and the ODR request error. The documentation here seems to explicitly suggest that ODR should work fine, so I'm guessing this is some odd configuration error on my machine — perhaps related to file system access? I've tried updating macOS and re-installing Xcode to latest from scratch to no avail. Anything else I'm missing here?
Posted
by navoshta.
Last updated
.
Post not yet marked as solved
0 Replies
57 Views
We started seeing application getting crashed when we are calling conditionallyBeginAccessingResources API of NSBundleResourceRequest。How to fix it ? 2022-08-03_07-59-04.crash
Posted Last updated
.
Post not yet marked as solved
1 Replies
212 Views
So yesterday I noticed that some of images in my app stopped appearing. All of them were placed in the on-demand resources, that is I've assigned tags to them. Up until yesterday they were working correctly but since then whenever I try to load the assets I get the error message saying: Error Domain=NSCocoaErrorDomain Code=4099 "Connection invalidated to streaming unzip service." My code for loading the asset is pretty straightforward and it was working perfectly fine before: let resourceRequest = NSBundleResourceRequest(tags: ["vinyl"]) defer { resourceRequest.endAccessingResources() } do { if await !resourceRequest.conditionallyBeginAccessingResources() { try await resourceRequest.beginAccessingResources() } } catch { assertionFailure("Vinyl image was not available, error: \(error)") } I'm obviously using it in asynchronous context, but the old method which used completion handler gives me the same error. Has anyone encountered this issue as well? I just updated my devices to iOS 15.5, maybe that update broke on-demand resources? Tested on Xcode 13.4, iOS 15.5
Posted
by wiencheck.
Last updated
.
Post not yet marked as solved
1 Replies
196 Views
Hi! I am wondering if there is a way to enable resources from a Swift Package to be stored with the ODR system? I have tried moving my asset catalogs to a Swift Package and while my tags for each asset were intact, the assets disappeared from the "Resource Tags" tab in the Project Settings. Is there any other way to make them work? I would love to be able to move these asset catalogs to a package to make the project more modular and this is a blocker for me at the moment.
Posted Last updated
.
Post not yet marked as solved
0 Replies
186 Views
I'm trying to add Non-Consumable Titles to our Apple and I have been getting strange errors. Then I came across this on the Apple Forum "We’re reaching out to let you know about upcoming changes to in-app purchase content hosting. In Xcode 13.3, we’ve removed the option to upload non-consumable in-app purchase assets for Apple to host. In addition, support for managing these assets in App Store Connect will be removed starting in April 2022. " They suggest for us to use ODR? Is this for real? We can't use ITMSTransporter to upload new Non-Consumable Titles to our App? This is the command I been using after I create the itmsp package: /Applications/Transporter.app/Contents/itms/bin/iTMSTransporter -m upload -f /Users/abc/Desktop/2022-06-10-13-58-27.itmsp -u xyz@abc.com -p ******** But I'm able to create Non-Consumable titles when I log into the https://appstoreconnect.apple.com/ Is Apple really expecting us to change to ODR?
Posted
by Deku.
Last updated
.
Post not yet marked as solved
0 Replies
144 Views
Hello, A bit late but now that I have learned about on-demand resources I see that there is a maximum of 20 GB of the total hosted content. Does this limit apply also when we have an Enterprise Developer Program and we can host it on our own server? Is there any other way to have more content? My customer wants to release special musical albums that are ~800 MB per album, with an ever-increasing number of albums over the years. So the limit of 20 GB would be reached after 25 albums. With growing device storage sizes I would expect that this limit also grows. I've been thinking about releasing 1 app per album but this results in plenty of apps, plus fixing bugs in all apps is expensive. Or I could develop my own content downloading concept that downloads resources from my own server. But this involves some server-side coding because content should only be accessible if purchased. I prefer to use on-demand resources when possible.
Posted
by Biochili.
Last updated
.
Post not yet marked as solved
0 Replies
151 Views
Hello. I'm trying to make the ODR experience as seamless as possible while reducing the app bundle size same time. According to the documentation, the files associated with the tags placed in the prefetch tag order section should start downloading immediately after installing the app, but my observations show that the resources behave like it's associated with on demand tag. Assuming: I expected that at least few first resources in order will be ready after 10-15 sec after installing and accessing these resources through conditionallyBeginAccessingResource() will return success almost immediately, but it's not. Anyone faced this behaviour? Does this technology is still actual for 2022?
Posted Last updated
.
Post not yet marked as solved
0 Replies
150 Views
Android App Resource Priority scheme: System app (higher) > Foreground status app > Background status app (lower). What is the priority scheme for iOS apps in above context?
Posted
by hasib_jhd.
Last updated
.
Post not yet marked as solved
1 Replies
270 Views
Hi,Apple I am using On Demand Resources ,and I have some questions above:  1.I tagged some Resources as "Prefetch tag order". Are these "Prefetch tag order" resources downloaded automatically by iOS system immediately once App is installed?Even though App was not launched by users finger? 2.To download "Prefetch tag order" resources, Does Developer need write specific codes to invoke ?
Posted
by leonyin.
Last updated
.
Post not yet marked as solved
0 Replies
185 Views
Hello, our app uses OnDemandResources and our users have been receiving the following error (Error Domain=AssetErrorDomain Code=6 "Asset URL has expired" UserInfo={NSDebugDescription=Asset URL has expired}) when trying to download these ODR assets after an app update. However, a fresh install usually fixes the issue. Does anyone know what could cause this and a potential fix for this issue?
Posted Last updated
.
Post not yet marked as solved
0 Replies
152 Views
Test package found flash back, normal memory, no crash, only wakeups log,I wonder if wakeups causes a crash。TF packages are normal。 I see the kernel code is set fatal to stop task。
Posted
by bigbang.
Last updated
.
Post marked as Apple Recommended
2.1k Views
I received an email from Apple: We’re reaching out to let you know about upcoming changes to in-app purchase content hosting. In Xcode 13.3, we’ve removed the option to upload non-consumable in-app purchase assets for Apple to host. In addition, support for managing these assets in App Store Connect will be removed starting in April 2022.  Does this mean that Apple will no longer offer hosting non-consumable IAP content? I'm not sure, as there is no indication of this on the App Store Connect help page: App Store Connect Help (I have a lot of IAP content in my app which is hosted on the Apple server)
Posted
by martax.
Last updated
.
Post marked as solved
1 Replies
277 Views
We have problem with On Demand Resources. This screenshot comes from Apple reviewer. It looks like Apple is accessing "assets.itunes.apple.com" which is not exist, I can't even ping to it. But I got URL with this domain "odr.itunes.apple.com" while testing same build from TestFlight. And that URL is working. ODR is working on our side, but not Apple reviewer. Anyone experience this issue or know why it use "assets.itunes.apple.com" ? This ODR URL is outside of our control, since it's generated by iOS SDK with this method "beginAccessingResources". https://developer.apple.com/documentation/foundation/nsbundleresourcerequest/1614840-beginaccessingresources
Posted
by akeTML.
Last updated
.
Post not yet marked as solved
1 Replies
489 Views
I'm trying to access the on-demand resources files for playback, but I cannot access them unless I'm in the ODRManager request method. Outside of the ODRManager class, the path in the main bundle returns nil. Any idea?
Posted
by Rundev.
Last updated
.
Post not yet marked as solved
0 Replies
259 Views
We have received multiple reports that some parts of the app do not work as expected. These features use audio files hosted as On-Demand Resources and it seems that the resource request returns true as expected, but the file behind the tag is missing or empty. We have not touched parts of the code or the resources for a long time now and the failure seems to be on the server side of thing. They work perfectly fine on debug builds or on simulator, but almost always fail on AppStore and TestFlight builds. beginAccessingResources method does not return any error and allows the app flow to continue. This unexpected behaviour resulted in plenty of crashes on our side due to the fact that returned files where either missing or empty.
Posted Last updated
.
Post not yet marked as solved
1 Replies
348 Views
I'm writing an app that, among other things, need to be able to play several tracks using AvAudioEngine. My question is about the best practice for carrying with the App a set of tracks. I could 'bundle' them with the app but currently they are about 400MB and I think it's too much. I think that this would also significantly slow my deploy times every time I need to run/debug the app. On my iPad Pro, using the File app, I can see the 'On My iPad' folder and inside that folder I already see some folders used by others App, like Cubasis LE, Acrobat and GarageBand for iOS. I can't find any example that shows me how to access these locations and which capability I need to add to my app (if any). Can you please point me in the right direction? Thanks, Guglielmo
Posted
by Guglielmo.
Last updated
.
Post not yet marked as solved
0 Replies
224 Views
Im working on my first ios game app and the file size is limited to apple app store limit. I noticed certain games like Call of Duty Mobile and Genshin Impact allows for download of content for the game to bypass that limit. Im building my game in Unreal engine, being a 3D game. Is there a way or known "form of method" for this?
Posted Last updated
.
Post not yet marked as solved
0 Replies
293 Views
I have a question regarding the Metadata on appstoreconnect TestFlight builds. In the past, on the field "On Demand Resources" we had specified the number of Asset PAck, in case it was "Yes". It was something like "Yes | 80 Asset Packs". It happens that now there's never the number of asset packs there, only a "Yes". Was there some change in there that caused this? Is there any way to "turn this on" again?
Posted Last updated
.
Post not yet marked as solved
0 Replies
331 Views
What would the intended workflow be for setting up ODR tags in a project that is generated by cmake? More generally, what are the strategies of automation and integration when using ODR? All I can find in the documetation is that tags are meant to be created and assigned in Xcode, that is by hand. It is hard to believe a feature like this would be designed and rolled out without some proper ways to utilize it.
Posted Last updated
.