Core data iCloud和现有的核心数据存储;鞋盒“;应用程序

Core data iCloud和现有的核心数据存储;鞋盒“;应用程序,core-data,icloud,Core Data,Icloud,我有一个现有的应用程序,只有一个核心数据存储。它类似于苹果所谓的鞋盒应用程序。 已经存储了许多记录。我能够轻松地添加必要的代码,以获得iCloud集成设置 我在iPodtouch和iPad上构建了新的应用程序,两者都运行iOS5 iPod具有现有数据。然而,数据并没有显示在iPad上。 该应用程序启用了iTunes文件共享,因此我通过iTunes将sqlite db放在两台设备上 现在,我尝试进行更改,看看iCloud现在是否能保持同步。事实并非如此 如何在这两台设备上获取现有数据,然后让iCl

我有一个现有的应用程序,只有一个核心数据存储。它类似于苹果所谓的鞋盒应用程序。
已经存储了许多记录。我能够轻松地添加必要的代码,以获得iCloud集成设置

我在iPodtouch和iPad上构建了新的应用程序,两者都运行iOS5

iPod具有现有数据。然而,数据并没有显示在iPad上。 该应用程序启用了iTunes文件共享,因此我通过iTunes将sqlite db放在两台设备上

现在,我尝试进行更改,看看iCloud现在是否能保持同步。事实并非如此

如何在这两台设备上获取现有数据,然后让iCloud从那时起保持同步


我在managedObjectContext中添加了以下内容,用于通知:

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(mergeChangesFrom_iCloud:) name:NSPersistentStoreDidImportUbiquitousContentChangesNotification object:coordinator];


有几千人在使用我的应用程序,并输入了大量数据。他们不想再次进入这一切。我想发布这个支持iCloud的应用程序的新版本,但在我能够将数据显示在这两个应用程序上并保持同步之前,没有任何意义。

晚上睡个好觉总是有帮助的

注意,我已经通过iTunes文件共享从主设备上备份了我的SQLite DB

我已启用iTunes文件共享。我在每个设备上构建应用程序,并在XCode中运行。停止每个设备。去iTunes。通过文件共享,我删除了每个设备上的sqlite数据库。同步设备。然后,我选择一个设备,并使用iTunes文件共享将备份的数据库恢复到该设备上。同步设备


在具有已还原db的设备上启动我的应用程序。然后我在第二台没有db的设备上启动我的应用程序(记住,上面已经删除了它)。等了一会儿,数据确实出现了。我想我听到了天使唱诗班微弱的歌声。

“我能够轻松添加必要的代码以获得iCloud集成设置”-可能没有你想象的那么简单;)。您将需要包括一些iCloud代码和一些关于数据存储如何工作的描述。
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(mergeChangesFrom_iCloud:) name:NSPersistentStoreDidImportUbiquitousContentChangesNotification object:coordinator];