Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AddSkipBackupAttributeToItemAttribute不使用iOS7_Ios_Iphone_Ipad_Icloud - Fatal编程技术网

AddSkipBackupAttributeToItemAttribute不使用iOS7

AddSkipBackupAttributeToItemAttribute不使用iOS7,ios,iphone,ipad,icloud,Ios,Iphone,Ipad,Icloud,我的iOS应用程序刚刚被拒绝,因为该应用程序正在文档中存储数据,因此它由iCloud进行备份,这是不允许的,因为数据是从服务器下载的。 但即使我使用AddSkipBackupAttributeToItemAttribute,它仍然显示为iCloud的备份 NSError *error = nil; NSData *data = [NSData dataWithContentsOfURL:url options:0 error:&error]; if(!error)

我的iOS应用程序刚刚被拒绝,因为该应用程序正在文档中存储数据,因此它由iCloud进行备份,这是不允许的,因为数据是从服务器下载的。 但即使我使用AddSkipBackupAttributeToItemAttribute,它仍然显示为iCloud的备份

    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);
    }

});
AddSkipBackupAttributeToItemAttribute方法

-(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;
}

当我尝试上面的代码时。iCloud仍然在iOS7中显示应用程序。请帮助我解决此问题。

请在使用“AddSkipBackupAttributeToItemAttribute”功能之前检查iOS版本

也请遵循以下URL: 这个网址呢

我不知道,但是文档中说“通常对用户文档进行的某些操作会导致此属性重置为false…”,所以这是我要检查的第一件事。