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

Posted

技术标签:

【中文标题】如何检查 iCloud 中是不是有内容?核心数据【英文标题】:How to check if there's content in iCloud ? Core Data如何检查 iCloud 中是否有内容?核心数据 【发布时间】:2014-01-24 17:58:37 【问题描述】:

我想从 plist 中预填充核心数据。得到了排序。无论如何,当 iCloud 有数据时,不要预填充核心数据。我该如何检查? 我正在使用 Magical Record 导入和处理我的 Core Data+iCloud,它可以工作

要么我错过了某处的某个步骤,要么我不知道。它导入并检查是否有值 allrdy 如果有它不导入。我希望 它可以在本地存储中运行,但是一旦我打开 iCloud,它就会变得一团糟

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

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

else 
NSlog(@"No iCloud")

【问题讨论】:

【参考方案1】:

检查:

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

【讨论】:

以上是关于如何检查 iCloud 中是不是有内容?核心数据的主要内容,如果未能解决你的问题,请参考以下文章

合并 iCloud 和核心数据数据库

我如何在 iCloud 中同步核心数据?(OS X Lion 应用程序)

如何阻止核心数据同步到 iCloud

如何强制 iCloud 与核心数据进行同步?

如何将现有核心数据 iOS 7 应用程序的数据迁移到 iCloud?

ios icloud 在设备中以编程方式设置开/关