首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测下载后随需应变资源的位置?

如何检测下载后随需应变资源的位置?
EN

Stack Overflow用户
提问于 2015-11-20 10:40:54
回答 3查看 2.3K关注 0票数 3

我在我的项目中实现了应用程序细化,从以下两个答案中获得了引用:-

  1. https://stackoverflow.com/a/33145955/988169
  2. https://stackoverflow.com/a/31688592/988169

下载后如何检测on demand resources的位置?

EN

回答 3

Stack Overflow用户

发布于 2017-03-31 17:21:14

除非您在初始化资源请求时指定了一个包,否则默认情况下资源将放置在主包中。因此,例如,您可以以这种方式访问它们,如果适合您的资源类型:

代码语言:javascript
复制
NSString *path= [[NSBundle mainBundle] pathForResource:@"movie" ofType:@"mp4"  ];
票数 2
EN

Stack Overflow用户

发布于 2018-01-18 17:37:15

最后,我发现了如何获得随需应变资源位置的路径:

代码语言:javascript
复制
func preloadResourcesWithTag(tagArray: Array<Any>, resourceName: String ){

    let tags = NSSet(array: tagArray)
    let resourceRequest:NSBundleResourceRequest = NSBundleResourceRequest(tags: tags as! Set)
    resourceRequest.beginAccessingResources { (error) in
        OperationQueue.main.addOperation{
            guard error == nil else {
                print(error!);
                return
            }

                print("Preloading On-Demand Resources ")

            let _path1 = resourceRequest.bundle.path(forResource: "img2", ofType: "jpg")
            let img = UIImage(contentsOfFile: _path1!)}

因此,随需应变资源的真正位置在这里:

/Users/admin/Library/Developer/CoreSimulator/Devices/250101ED-DFC5-424C-8EE1-FC5AD69C3067/data/Library/OnDemandResources/AssetPacks/com.ae.OfflineMapSwiftV1/1629348341761109610/com.##.OfflineMapSwiftV1.asset-pack-000000G31NNOJ.assetpack/img2.jpg

票数 2
EN

Stack Overflow用户

发布于 2017-11-01 21:44:49

要扩展saswanb的答案,您使用的pathForResource必须匹配添加到ODR标记中的文件夹或文件名。如果将对文件夹的引用添加到ODR,则可以搜索该文件夹名称,但不能搜索该文件夹的内容。

代码语言:javascript
复制
NSString *path= [[NSBundle mainBundle] pathForResource:@"ODRFolder1" ofType:nil  ];

但是,如果将文件夹的内容添加到ODR标记中,则可以单独搜索每个文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33824601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档