【问题标题】:Removing XMPPFramework causes CoreData crash删除 XMPPFramework 会导致 CoreData 崩溃
【发布时间】:2015-10-22 07:03:19
【问题描述】:

我从项目中删除了 XMPPFramework,因为我不再需要它。但是,由于 CoreData 迁移问题,我的应用程序现在崩溃了。 XMPPFramework 添加的所有核心数据实体现在都从我的数据模型中消失了(显然),但核心数据无法从这个数据模型更改中恢复并崩溃。如何迁移我的数据模型以纳入我的数据模型中缺少所有这些表的事实?

示例: 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相关的托管对象都不见了,轻量级迁移失败了。我需要帮助自定义迁移到新数据模型。请帮忙!

-晴天

【问题讨论】:

  • 如果您发布实际的错误消息会有所帮助。

标签: ios core-data xmppframework


【解决方案1】:

最有可能的是,当您删除框架时,您会丢失部分 Core Data 模型(尽管我不熟悉该框架)。假设错误是迁移失败,您需要恢复旧数据模型并创建没有这些表的新数据模型,以便 Core Data 可以为其轻量级迁移找到源模型和目标模型。如果没有这两种模型,Core Data 就无法进行迁移。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多