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

15 Posts
Sort by:
Post not yet marked as solved
2 Replies
244 Views
When making an NSBundleResourceRequest to request resources, it works fine the first time. However, after calling endAccessingResources and making the request again, the app crashes when interacting with the page。 Xcode 15.0.1 (15A507) iPhone Xs 17.1.2 error prompt: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'CoreUI: CGImageBlockSetRef __CUIImageProviderCopyImageBlockSetWithOptions(void *, CGImageProviderRef, CGRect, CGSize, CFDictionaryRef) unknown pixel format 0 rendition '(null)'' *** First throw call stack: (0x197258870 0x18f57fc00 0x1967c2e54 0x1b34532c4 0x198d46128 0x198d45f84 0x198d30134 0x198d3017c 0x198d30134 0x198d2fe00 0x198d2d54c 0x198d2cae4 0x198d37bf8 0x198d37434 0x198d20390 0x198d1fd28 0x198d061bc 0x198d053c0 0x199467ca0 0x199467c50 0x199466f94 0x199466e04 0x199466d30 0x19a5bbf80 0x1993fe200 0x1993fdc74 0x1993fdb90 0x1993fd708 0x1993fd580 0x1993fd288 0x1993fd21c 0x1993fea3c 0x1993fce8c 0x1993d1c68 0x1993d1990 0x1993fffdc 0x1993ffb58 0x1993ffaa4 0x1993c2694 0x1987d81c0 0x1987d7d48 0x1987de278 0x1987d7574 0x1987d721c 0x1971a1a2c 0x1971a0434 0x19719fb50 0x19719f668 0x1da56a5ec 0x1995bc2b4 0x1995bb8f0 0x100e2e454 0x1b9bf2dcc) libc++abi: terminating due to uncaught exception of type NSException *** Assertion failure in CGImageBlockSetRef __CUIImageProviderCopyImageBlockSetWithOptions(void *, CGImageProviderRef, CGRect, CGSize, CFDictionaryRef)(), CUIThemeRendition.m:1,328
Posted
by
Post not yet marked as solved
0 Replies
204 Views
I create a new project just for testing on-demand resources and it works properly on real devices and iOS simulators but no luck on Mac(Designed for iPad). The project is very simple like bellow: NSBundleResourceRequest* request = [[NSBundleResourceRequest alloc] initWithTags:[NSSet setWithArray:@[@"A"]]]; [request beginAccessingResourcesWithCompletionHandler:^(NSError* error){ if (error != nil) { NSLog(@"%@", error.description); } }]; The error I encounter on my M1 Mac is consistently: Error Domain=NSCocoaErrorDomain Code=-1 "(null)". However, I'm unsure about what steps to take to resolve this issue. Just wondering can we test on-demand resources on apple silicon macs directly by 'Designed for iPad', or we can only test on real devices and simulators? I have read many documentations and websites but it seems like no one addresses about this.
Posted
by
Post not yet marked as solved
0 Replies
266 Views
Hi, ALL, I'm writing a program that should operate with different DBMSes... I'm using Xcode and test it under OSX High Sierra 10.13.6. The compilation of my code succeeds however, when I tried to run it from Terminal, I got following: Filed to load shared library liblibdbloader.dylib: dlopen(liblibdbloader.dylib, 2). Library not loaded: /usr/local/lib/liblibmysql.dylib. Referenced from Reason: image not found At the end of the compilation I'm running a script which contains following lines: cp -f ~/dbhandler/dbhandler/mysql-server/BuildOSX/libmysql/libmysqlclient.dylib "$TARGET_BUILD_DIR/$TARGET_NAME.app/Contents/Frameworks/libmysqlclient.dylib" install_name_tool -id "@rpath/Frameworks/libmysqlclient.dylib" "$TARGET_BUILD_DIR/$TARGET_NAME.app/Contents/Frameworks/libmysqlclient.dylib" cp ~/dbhandler/dbhandler/Build/Products/Debug/liblibmysql.dylib "$TARGET_BUILD_DIR/$TARGET_NAME.app/Contents/Frameworks/liblibmysql.dylib" install_name_tool -id '@rpath/Frameworks/liblibmysql.dylib' "$TARGET_BUILD_DIR/$TARGET_NAME.app/Contents/Frameworks/liblibmysql.dylib" install_name_tool -change "/Users/igorkorot/dbhandler/dbhandler/mysql-server/buildOSX/libmysql/libmysqlclient.21.dylib" @executable_path/../Frameworks/libmysqlclient.dylib "$TARGET_BUILD_DIR/$TARGET_NAME.app/Contents/Frameworks/liblibmysql.dylib" install_name_tool -change "/usr/local/lib/liblibmysql.dylib" @executable_path/../Frameworks/liblibmysql.dylib "$TARGET_BUILD_DIR/$TARGET_NAME.app/Contents/Frameworks/liblibdbloader.dylib" Trying to verify the linkage I have: Igors-MacBook-Air:Frameworks igorkorot$ otool -L liblibmysql.dylib liblibmysql.dylib: @rpath/Frameworks/liblibmysql.dylib (compatibility version 1.0.0, current version 1.0.0) @executable_path/../Frameworks/libmysqlclient.dylib (compatibility version 21.0.0, current version 21.0.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4) Igors-MacBook-Air:Frameworks igorkorot$ otool -L libmysqlclient.dylib libmysqlclient.dylib: @rpath/Frameworks/libmysqlclient.dylib (compatibility version 21.0.0, current version 21.0.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4) Igors-MacBook-Air:Frameworks igorkorot$ pwd /Users/igorkorot/dbhandler/dbhandler/Build/Products/Debug/dbhandler.app/Contents/Frameworks Igors-MacBook-Air:Frameworks igorkorot$ I don't understand why the linker still trying to load the library from the /usr/local/lib. The library is not referencing anything from /usr/local/lib. Can someone explain what is going on?
Posted
by
Post marked as solved
2 Replies
690 Views
Hi all, we're developing the Real Money Gambling app and store our games in Apple Cloud (we use game bundles that store as Hosted on-demand resources). We know, that we have only 20Gb available space in Apple's Cloud - https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/PlatformSizesforOn-DemandResources.html#//apple_ref/doc/uid/TP40015083-CH23-SW1 So, we use all this 20 Gb for storing the games, we successfully pass the review and now live in Apple Store. My question is, we want to update the app, for example we fix the minor bugs or add some new functionality into the app. We create the new build and send it for review. But when we create the new build we need to sign all games in Apple's storage with this new build and upload all the games one more time on Apple's cloud, so we rewrite the games. And what will be with the old version of the app? As I understand, the games in the old version will not be available for the user (and will be available only after he updates the app), because we deleted these games and uploaded the same games but these games will work only with the new build. How does app update work in general if we use hosted on-demand resources (we use the full 20 Gb of storage)? Help me please, guys.
Posted
by
Post not yet marked as solved
0 Replies
488 Views
Hey there! We have noticed that any downloaded ODR tags (and thus resources) are purged when a user updates their app even though the ODR resources, tags, etc, have not changed between the two versions. Is there any way to prevent this? I found this thread regarding how resources are managed between different versions of the app. I presume that the explanation provided there extends to this case. Is there a checksum mechanism that we can use to compare the downloaded resource tags with the resource tags in the update prevent the identical downloaded tags from being purged during an update? Thanks!
Posted
by
Post not yet marked as solved
0 Replies
399 Views
Is there a solution for increasing the size of on-demand resource files to the platform maximum of 20 GB? We need to integrate more assets but are now constrained by the size constraint.
Posted
by
Post not yet marked as solved
0 Replies
486 Views
Hello there, I'm currently trying to use the ODR system, according to that guide: https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/index.html#//apple_ref/doc/uid/TP40015083-CH2-SW1. I followed the guide trough, however my install tags and prefetch tags, seems to not be installed when the app is installed as describe by the documentation. I did add them to the list of install and prefetched tags in the project, nothing seems to be working so far. I tried installing the app directly from Testflight but got to the same result. The request system for the ODR tags work as expected, so far the only way to make my install nor prefetch tags works was to actually call the "beginAccessingResourcesWithCompletionHandler" directly with the wanted tags, I also try to use the "conditionnallyBeginAccessingResourcesWithCompletionHandler" which give me resourcesAvailable is false for the install & prefetch tags. Any help will be more than welcome. Thanks, Jérémy
Posted
by
Post not yet marked as solved
0 Replies
484 Views
I according to the https://www.kodeco.com/520-on-demand-resources-in-ios-tutorial article to set some resource files to ODR (On-Demand Resources) and add some tags. But when the Simulator was running, I couldn't find any Tags in the Debug Navigator, it show "No Resources". Xcode: Version 14.3 (14E222b) iPadOS Simulator: 16.4
Posted
by
Post not yet marked as solved
2 Replies
572 Views
Hi all, Is it possible to increase the size of the hosted on-demand resources from 20 GB to 50 GB for example? Thanks
Posted
by
Post not yet marked as solved
0 Replies
473 Views
On demand resource can be used on external server (not apple host server)? I get error like below: Error Domain=NSCocoaErrorDomain Code=4994 "The requested application data doesn’t exist." UserInfo={NSUnderlyingError=0x2814fd3b0 {Error Domain=_NSBundleResourceRequestErrorDomain Code=100 "No manifest found for bundle ID xxxxx" UserInfo={NSLocalizedFailureReason=No manifest found for bundle ID xxxxx}}} How to solve this? Any advice?
Posted
by
Post marked as Apple Recommended
5.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
Post not yet marked as solved
4 Replies
1.7k 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