iOS 9中的随需应变资源 - 如何找到下载资源的确切位置?

时间:2015-11-20 10:38:08

标签: ios ios9 app-thinning on-demand-resources

我正在尝试在不使用xcassets的游戏中使用ODR。

所以,我有一个带有标签的纹理(例如“教程”),在项目设置中将其作为ODR并使用下面的代码获取它:

NSBundleResourceRequest *resourceRequest = [[NSBundleResourceRequest alloc] initWithTags:tags];
[resourceRequest conditionallyBeginAccessingResourcesWithCompletionHandler:^(BOOL resourcesAvailable) {
    if (resourcesAvailable) {
        // Upload the texture
    }
    else
    {
        [resourceRequest beginAccessingResourcesWithCompletionHandler:^(NSError * _Nullable error) {
            if (error) {
                NSLog(@"Failed to load assets pack");
            }
            else
            {
                // Upload the texture
            }
        }];

    }
}];

主包不包含有问题的纹理(我在simulator文件夹中查看了包)。调用上面的代码后,XCode和日志报告它已成功下载并准备使用。

评论// Upload the texture的位置我需要调用我的代码将纹理上传到视频内存中,但问题是 - 我无法获得下载文件的确切位置。

有没有办法知道下载资产的位置?

2 个答案:

答案 0 :(得分:0)

NSBundleResourceRequest中提供了一个捆绑包,您可以使用它来获取资源。见Apple's Docs on NSBundleResourceRequest

答案 1 :(得分:-1)

今天发生在我身上的是资产图片, TARGET-> Resource Tags检查是否从资产中添加了任何图像。如果存在,则删除并重建。