Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] On-Demand Resource Support #9606

Closed
1 task done
Damonvvong opened this issue Mar 11, 2020 · 5 comments · Fixed by #10812
Closed
1 task done

[Feature Request] On-Demand Resource Support #9606

Damonvvong opened this issue Mar 11, 2020 · 5 comments · Fixed by #10812
Labels
d3:hard An issue that is difficult to solve and may require significant changes help wanted Help from new or existing contributors would be greatly appreciated! t1:enhancement Enhancements that have not been picked up yet. Please comment if you plan to work on it
Milestone

Comments

@Damonvvong
Copy link

On-Demand Resource

On-demand resources are app contents that are hosted on the App Store and are separate from the related app bundle that you download. They enable smaller app bundles, faster downloads, and richer app content. The app requests sets of on-demand resources, and the operating system manages downloading and storage. The app uses the resources and then releases the request. After downloading, the resources may stay on the device through multiple launch cycles, making access even faster.

More infomation: https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/index.html

But It is not support by Cocoapods.

Here are same problem at stackoverflow: https://stackoverflow.com/questions/51901563/ios-on-demand-resources-from-a-framework-or-cocoapod

*.xcodeproj File Diff

if we want use ODR, *.xcodeproj file must set options like this:

FileRef

-   25C339XXXXXXXXXXXXXXX2FD9 /* Test_ODR.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 25C339XXXXXXXXXXXXXXX2FD9 /* Test_ODR.bundle */; };
+   25C339XXXXXXXXXXXXXXX2FD9 /* Test_ODR.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 25C339XXXXXXXXXXXXXXX2FD9 /* Test_ODR.bundle */; settings = {ASSET_TAGS = (Tag, ); }; };

Section

/* Begin PBXProject section */
    25C339XXXXXXXXXXXXXXX2FD9 /* Project object */ = {
      isa = PBXProject;
      attributes = {
+       KnownAssetTags = (
+         Tag,
+         Tag1,
+         Tag2,
+       );

Question

no matter

s.resources    = 'ODRPodDemo/Assets/**/*.bundle'

and

s.resource_bundles = {
    'ODRPodDemo' => ['ODRPodDemo/Assets/*.png']
}

did not support

Request

whether there are some possible support Pods's resource can use On-Demand Resource when pod install or pod update or not? Like this:

s.on_demand_resources  = {
    'Tag1' => ['ODRPodDemo/Assets/*.png'],
    'Tag2' => ['ODRPodDemo/Assets/*.png']
}
@dnkoutso dnkoutso added the t1:enhancement Enhancements that have not been picked up yet. Please comment if you plan to work on it label Mar 11, 2020
@dnkoutso
Copy link
Contributor

Yep could use some help on this but a good enhancement!

@dnkoutso dnkoutso added d3:hard An issue that is difficult to solve and may require significant changes help wanted Help from new or existing contributors would be greatly appreciated! labels Mar 11, 2020
@Damonvvong
Copy link
Author

@dnkoutso So what can I help you ?

@dnkoutso
Copy link
Contributor

of course! I would start with a proposal so other contributors can weigh in with feedback. See examples #8753 and #9099

@Damonvvong
Copy link
Author

@dnkoutso Do you have any good suggestions for this enhancement Or if you deal it, how would you solve this problem ?

@dnkoutso
Copy link
Contributor

PR here #10812

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
d3:hard An issue that is difficult to solve and may require significant changes help wanted Help from new or existing contributors would be greatly appreciated! t1:enhancement Enhancements that have not been picked up yet. Please comment if you plan to work on it
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants