如何检查iCloud中是否有内容?核心数据

时间:2014-01-24 17:58:38

标签: ios objective-c core-data icloud magicalrecord

我想从plist预先填充核心数据。把它整理好了。无论如何,为了不预先填充核心数据,当iCloud拥有全部数据时。我该如何检查? 我正在使用魔法记录导入和处理我的核心数据+ iCloud,它可以正常工作

要么我想念某个地方还是我不知道。如果没有导入,它会导入并检查是否存在allrdy值。我希望 它适用于本地存储,但是一旦打开iCloud,它就会变得混乱

我发现了这个,但它对我不起作用。我不确定这是正确的做法 。有些我认为我需要首先检查iCloud是否已启用然后是否有内容或者我在这里完全错了?

NSURL *ubiq = [[NSFileManager defaultManager]
                   URLForUbiquityContainerIdentifier:nil];
    if (ubiq) {
        NSLog(@"iCloud access at %@", ubiq);
}
else {
NSlog(@"No iCloud")
}

1 个答案:

答案 0 :(得分:2)

检查:

- (BOOL) iCloudCheckContent{

    NSString* backupName = @"myBackup";
    NSError *error = nil;
    NSFileManager *filemanager = [NSFileManager defaultManager];    
    NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];

    if (ubiq == nil) {
        NSlog(@"No iCloud");
        return NO;
    }

    bool ret = [filemanager startDownloadingUbiquitousItemAtURL:[[ubiq URLByAppendingPathComponent:@"Documents" isDirectory:true] URLByAppendingPathComponent:backupName] error:&error];

    NSLog(@"Started for %@ %d", backupName, ret);

    if (error != nil) {
        NSLog(@"iCloud error: %@", [error localizedDescription]);
    }

    return ret;
}