简体   繁体   中英

addSkipBackupAttributeToItemAtURL not working with iOS7

My iOS application just got rejected because the application is storing data on Documents so it is backed up by iCloud, this is not allowed since the data is downloaded from a server. But even though I'm using addSkipBackupAttributeToItemAtURL it still shows up as a backup to iCloud.Here the code which i have used

    NSError *error = nil;
    NSData *data = [NSData dataWithContentsOfURL:url options:0 error:&error];
    if(!error)
    {
       [self HidePreLoader];
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
         NSLog(@"_paths--->%@",paths);
        NSString *path = [paths objectAtIndex:0];
         NSLog(@"_path---->%@",path);
        NSString *dataPath = [path stringByAppendingPathComponent:@"/MyFolder"];
         NSLog(@"_dataPath---->%@",dataPath);
        if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
        {
            [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];
        }
        NSString *zipPath = [dataPath stringByAppendingPathComponent:downfilename];
        [data writeToFile:zipPath options:0 error:&error];
        if(!error)
        {
            [self HidePreLoader];
            ZipArchive *za = [[ZipArchive alloc] init];
            if ([za UnzipOpenFile: zipPath]) {
                BOOL ret = [za UnzipFileTo: dataPath overWrite: YES];
                if (NO == ret){} [za UnzipCloseFile];
                 NSLog(@"folderPath--->%@",folderPath);
   //Here i have used the use code
                NSURL *guidesURL = [NSURL fileURLWithPath:folderPath];
                [guidesURL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:NULL];
  //The following code also doesnt work
  //NSURL *guidesURL = [NSURL fileURLWithPath:folderPath];
  //[self addSkipBackupAttributeToItemAtURL:guidesURL];

                  [self HidePreLoader];
                NSString *path = nil;
                if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
                {
                    path = [folderPath stringByAppendingPathComponent:@"module-B1-ipadmain-swipe-tablet.html"];
                }
                else
                {
                    path = [folderPath stringByAppendingPathComponent:@"module-B1-ipadmain-swipe-phone.html"];
                }

                NSLog(@"path--->%@",path);

                dispatch_async(dispatch_get_main_queue(), ^{

                    appDel.currentReadingPlanWithPath = path;
                    appDel.moduleDownloaded = YES;
                    [appDel SetCurrentDownloadPath];
                    NSLog(@"file download success");
                    [progview setHidden:YES];
                    [progval setHidden:YES];
                    [self HidePreLoader];
                    downloadView.userInteractionEnabled=YES;
                    [self SetModuleDownloaded:@"true"];
                    [self ShowAlert:@"Download" message:@"Success"];
                     [self HidePreLoader];
                                    });
                 [self HidePreLoader];
            }
        }
        else
        {
            NSLog(@"Error saving file %@",error);
        }
    }
    else
    {
        NSLog(@"Error downloading zip file: %@", error);
    }

});

AddSkipBackupAttributeToItemAtURL method

-(BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);
NSError *error = nil;
BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]forKey: NSURLIsExcludedFromBackupKey error: &error];
if(!success){
    NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
}
return success;
}

When i try the above code.Still the iCloud shows the application in iOS7.Please help me to solve this issue.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM