提问人:Anthony Guella 提问时间:4/15/2021 最后编辑:Anthony Guella 更新时间:4/15/2021 访问量:135
NSBundle PathsForResources 在下载按需资源包后返回 null
NSBundle PathsForResources returning null after downloading On Demand Resource Bundle
问:
我的团队在使用 Apple 的按需资源框架时遇到了一个非常奇怪的问题。这是一个随机发生的问题,用户将成功下载我们的一个资源,但当我们尝试通过 NSBundle.PathsForResources() 访问此资源的路径时,它没有显示出来。当用户使用特定资源标记进入此状态时,我们尚未找到解决问题的方法。每次访问应用程序的这一部分时,我们的代码都会尝试重新获取受影响的资源标签,因此这不是不重新获取的问题,我们肯定会获取并成功下载。奇怪的是,卸载应用程序并重新安装甚至无法修复这种损坏状态。人们会认为在 iOS 上删除应用程序和重新安装之间没有任何内容,但这里似乎并非如此。此外,这发生在看似随机的资产上,没有某些按需资源包受到影响的模式,在所有情况下都是不同的。一旦资源标签被“砖砌”,它就会保持这种状态。任何可能导致这种情况/我们可以尝试解决此问题的想法吗?
下载代码:
// create and initialize new resource request
public async Task CreateODRResourceRequest(string tag)
{
if (string.IsNullOrWhiteSpace(tag))
{
throw new ArgumentNullException(nameof(tag));
}
// Create resource request
var request = new NSBundleResourceRequest(new[] { tag });
// Set highest loading priority
request.LoadingPriority = NSBundleResourceRequest.LoadingPriorityUrgent;
_currentResourceRequest = request;
var resourcesAlreadyAvailable = await request.ConditionallyBeginAccessingResourcesAsync();
// ensure we only download resource if it's not already on the device
if (!resourcesAlreadyAvailable)
{
await request.BeginAccessingResourcesAsync();
}
}
答: 暂无答案
上一个:Unity:从资源包到按需资源
评论