我正在尝试在不使用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
的位置我需要调用我的代码将纹理上传到视频内存中,但问题是 - 我无法获得下载文件的确切位置。
有没有办法知道下载资产的位置?
答案 0 :(得分:0)
NSBundleResourceRequest中提供了一个捆绑包,您可以使用它来获取资源。见Apple's Docs on NSBundleResourceRequest
答案 1 :(得分:-1)
今天发生在我身上的是资产图片,
TARGET
-> Resource Tags
检查是否从资产中添加了任何图像。如果存在,则删除并重建。