Ios 将persistentstore迁移到iCloud
有了这段代码,我可以将PersientStore(核心数据)迁移到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:
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”创建普遍性内容的第一步,不管它有多成功。