1

私は次の問題に遭遇しましたOnDemandResource

1)TestFlight古いバージョンのアプリからダウンロードします... アプリがダウンロードされOnDemandResource、すべて正常に動作します。

2) 新しいリソースを追加した新しいバージョンのアプリをアップロードし、古いバージョンのアップデートとしてインストールします。また、新しいバージョンのアプリのダウンロードではなく、新しいバージョンのアプリが実行されている場合OnDemandResource、アプリはすべてのリソースがダウンロードされたと認識します。

修正方法は?

最初に古いバージョンを起動します:

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