我从项目中删除了XMPPFramework,因为我不再需要它了。然而,由于CoreData迁移问题,我的应用程序现在崩溃了。XMPPFramework添加的所有Core Data实体现在都从我的数据模型中消失了(很明显),但是Core Data无法从这个数据模型更改中恢复并崩溃。我如何迁移我的数据模型,以包含数据模型中缺少所有这些表的事实?
的例子:NSStoreModelVersionHashes = {
Message = <a4ab6db8 >;
EXAMPLE1 = <6ac82d7d >;
EXAMPLE2 = <7dcb3fdc >;
EXAMPLE3 = <57b68932 >;
EXAMPLE4 = <64ea72d1 >;
Service = <5bfb096d >;
XMPPCapsCoreDataStorageObject = <fcc8a450 >;
XMPPCapsResourceCoreDataStorageObject = <b4ad78f7 >;
XMPPGroupCoreDataStorageObject = <2d9d5e0b >;
"XMPPMessageArchiving_Contact_CoreDataObject" = <b35921c6 >;
"XMPPMessageArchiving_Message_CoreDataObject" = <55ad74f0 >;
XMPPResourceCoreDataStorageObject = <e31f4b20 >;
XMPPRoomMessageCoreDataStorageObject = <e93f6bf3 >;
XMPPRoomMessageHybridCoreDataStorageObject = <13824bff >;
XMPPRoomOccupantCoreDataStorageObject = <2848335c >;
XMPPUserCoreDataStorageObject = <0ef429b0 >;
XMPPvCardAvatarCoreDataStorageObject = <66d4bf5e >;
XMPPvCardCoreDataStorageObject = <adac5b15 >;
XMPPvCardTempCoreDataStorageObject = <8a708229 >;
};
NSPersistentStoreCoordinator的当前模型哈希值为{
EXAMPLE1 = <6ac82d7d >;
EXAMPLE2 = <7dcb3fdc >;
EXAMPLE3 = <57b68932 >;
EXAMPLE4 = <64ea72d1 >;
}
因此,正如您所看到的,所有与XMPP相关的管理对象都消失了,轻量级迁移失败了。我需要帮助进行自定义迁移到新的数据模型。请帮助!
阳光
最有可能的是,当您删除框架时,您丢失了Core Data模型的一部分(尽管我不熟悉该框架)。假设错误是迁移失败,您需要恢复旧的数据模型,并创建一个没有这些表的新数据模型,以便Core data可以为其轻量级迁移找到源模型和目标模型。如果没有这两个模型,Core Data就无法进行迁移。