iCloud文件夹在iOS中创建和保存

时间:2013-08-29 14:56:58

标签: ios icloud nsfilemanager

我需要在Cloud中创建文件夹,并将我的.txt文本文件保存到该文件夹​​中。

所以我在AppDelegate

中创建了包含以下代码的文件夹
NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
    NSError *error = nil;

    if(ubiq)
    {
        NSFileManager *fm = [NSFileManager defaultManager];
        NSURL *rootURL = [fm URLForUbiquityContainerIdentifier:nil];
        NSURL *newFolder = [NSURL URLWithString:@"Notes" relativeToURL:rootURL];

        [fm createDirectoryAtURL:newFolder withIntermediateDirectories:YES attributes:nil error:&error];

        if(error)
        {
            NSLog(@"Error");
        }

        else
        {
            NSLog(@"NO Error");
        }
    }

我测试后,显示无错误。 所以我假设它在iCloud中创建了Notes文件夹。

但是,当我使用以下代码将文本文档保存到该文件夹​​时,它显示错误而不是保存。

NSString *file = [NSString stringWithFormat:@"%@.txt",fileName];

    NSURL *ubiq = [[NSFileManager defaultManager]
                   URLForUbiquityContainerIdentifier:nil];
    NSURL *ubiquitousPackage =
    [[[ubiq URLByAppendingPathComponent:@"Documents"] URLByAppendingPathComponent:@"Notes"]
     URLByAppendingPathComponent:file];

    Note *doc = [[Note alloc] initWithFileURL:ubiquitousPackage];

    [doc saveToURL:[doc fileURL] forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
        if (!success)
        {
            NSLog(@"Error");
        }

        else
        {
            doc.noteContent = self.txtView.text;
            [doc updateChangeCount:UIDocumentChangeDone];
        }
    }];

错误信息是

Foundation called mkdir("/private/var/mobile/Library/Mobile Documents/35QNLTQU29~com~myapp~iCloudTest/Documents/Notes/(A Document Being Saved By iCloudTest)"), it didn't return 0, and errno was set to 2.

我该如何解决?

0 个答案:

没有答案