Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.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
Ios 将persistentstore迁移到iCloud_Ios_Xcode_Core Data_Icloud - Fatal编程技术网

Ios 将persistentstore迁移到iCloud

Ios 将persistentstore迁移到iCloud,ios,xcode,core-data,icloud,Ios,Xcode,Core Data,Icloud,有了这段代码,我可以将PersientStore(核心数据)迁移到iCloud: NSPersistentStore *persistentStore = [[persistentStoreCoordinator persistentStores]objectAtIndex:0]; if(![persistentStoreCoordinator migratePersistentStore:persistentStore toURL:[NSURL fileURLWithPath:

有了这段代码,我可以将PersientStore(核心数据)迁移到iCloud:

    NSPersistentStore *persistentStore = [[persistentStoreCoordinator persistentStores]objectAtIndex:0];
    if(![persistentStoreCoordinator migratePersistentStore:persistentStore toURL:[NSURL fileURLWithPath:iCloudData] options:options withType:NSSQLiteStoreType error:&error])
    {
        NSLog(@"errore migrate %@", error);
    }

但我只想在iCloud的Ubiquity容器为空而持久存储区为空的情况下进行迁移。

这与中描述的问题相同:


您无法可靠地检测容器的初始状态,因此必须考虑迁移后重复记录的可能性。

您可以检查ubiquity containers/CoreData子目录中是否存在与NSPersistentStoreUbiqitousContentNamekey匹配的目录。如果已经存在,则其他设备已经创建了存储并在iCloud中共享。查看此链接,了解有关核心数据和iCloud集成的更多详细信息,这并不一定正确。这只意味着某些设备已经创建了该目录,但不能保证他们已经完成了将数据上传到iCloud的工作。此外,如果创建目录的设备突然死亡(或失去网络连接),它将永远无法完成。当然,但这是确定核心数据已尝试为该“NSPersistentStoreUbiqitousContentNameKey”创建普遍性内容的第一步,不管它有多成功。