Our app works every time without a hitch on all iOS devices we've tested with (fresh install or update from xcode/adhoc production/debug, we've tried them all). But it is getting rejected in app review because it appears the ondemand resource never becomes available, even though the download of the resource completes without error.
We are accessing the resource in a blocking region of camera callback. If the resource is available we go ahead and use it, otherwise we do a beginAccessingResourcesWithCompletionHandler() and free callback block only after download is complete. The problem is app reviewer is saying it downloads (there's a progressbar for it) and then keeps asking to redownload over and over. Why would it not be available if it just successfully completed download (note there's no error)?
[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. */
}];
} }];
Also it's not an out of storage issue. We have that covered and tested. Moreover the beginAccessingResourcesWithCompletionHandler() returns without error.