1

我遇到了以下问题OnDemandResource

1)我从TestFlight旧版本的应用程序下载...应用程序下载OnDemandResource,一切正常。

2)我上传了一个新版本的应用程序,我在其中添加了新资源,并将其安装为旧版本的更新。并且当新版本App运行时,不下载新的OnDemandResource,App认为所有资源都下载完毕。

如何解决?

首先启动旧版本:

NSSet *tags = [NSSet setWithObjects: @"PACK_1", @"PACK_2", nil];
NSBundleResourceRequest *resourceRequest = [[NSBundleResourceRequest alloc] initWithTags:tags];
resourceRequest.loadingPriority = 1.0;
[resourceRequest conditionallyBeginAccessingResourcesWithCompletionHandler:^(BOOL resourcesAvailable) {
    if (resourcesAvailable) {
    } else {

        // Download PACK_1 and PACK_2

        [resourceRequest beginAccessingResourcesWithCompletionHandler:^(NSError * __nullable error) {
            if(!error){
            } else {

                // Run App
            }
        }];
    }
}];

首先启动新版本(更新旧版本,添加新PACK_3):

NSSet *tags = [NSSet setWithObjects: @"PACK_1", @"PACK_2", @"PACK_3", nil];
NSBundleResourceRequest *resourceRequest = [[NSBundleResourceRequest alloc] initWithTags:tags];
resourceRequest.loadingPriority = 1.0;
[resourceRequest conditionallyBeginAccessingResourcesWithCompletionHandler:^(BOOL resourcesAvailable) {

    // Check PACK_1, PACK_2 and PACK_3 and resourcesAvailable = true, but PACK_3 not download

    if (resourcesAvailable) {

        // Run App

    } else {

        // Will not start to download PACK_3

        [resourceRequest beginAccessingResourcesWithCompletionHandler:^(NSError * __nullable error) {
            if(!error){
            } else {
            }
        }];
    }
}];
4

0 回答 0