我们的应用程序每次都能在我们测试过的所有 iOS 设备上顺利运行(从 xcode/adhoc 生产/调试中全新安装或更新,我们已经全部尝试过)。但它在应用程序审查中被拒绝,因为它似乎按需资源永远不会变得可用,即使资源的下载完成而没有错误。
我们正在访问相机回调的阻塞区域中的资源。如果资源可用,我们继续使用它,否则我们只在下载完成后执行 beginAccessingResourcesWithCompletionHandler() 和免费回调块。问题是应用程序审阅者说它下载(有一个进度条),然后一遍又一遍地要求重新下载。为什么刚下载成功就不可用(注意没有错误)?
[request conditionallyBeginAccessingResourcesWithCompletionHandler:^(BOOL resourcesAvailable) {
if (resourcesAvailable)
{
/* use the resource. */
/* unblock the callback. done. */
}
else
{
/* ask to download resource */
[request beginAccessingResourcesWithCompletionHandler:^(NSError * _Nullable error) {
if (error)
{
NSLog(@"%@", error);
/* don't unblocked. return. will hang. */
}
/* unblock the callback. done. resource should be available next camera frame. */
}];
} }];
这也不是存储不足的问题。我们已经涵盖并测试了这一点。此外, beginAccessingResourcesWithCompletionHandler() 返回没有错误。