核心数据自动迁移无效

时间:2015-01-19 10:50:15

标签: ios core-data migration magicalrecord

民间,

我需要一些关于核心数据迁移的帮助,这里是关于情况的描述。

  1. 我有一个现有的iOS应用程序,它使用核心数据进行离线支持。
  2. 商店中应用的当前版本为1.1,应用商店中当前版本的核心数据模型为11(Model11.xcdatamodel)。
  3. 现在我正在向应用程序商店发布新版本(1.1.1),并且已经发生了重大工作。此外,其中一个实体已在核心数据中添加了新属性。
  4. 在更改模型文件之前,我通过将Model11.xcdatamodel作为基础添加了新的模型文件(Model12.xcdatamodel)。
  5. 将Model12.xcdatamodel设为当前版本。
  6. 在其中一个实体中添加了新属性以支持该功能,在模式等方面进行了更改。
  7. 在此之后,我从Xcode实用程序窗口(右侧)创建了类型为“版本核心数据模型”的Model11.xcdatamodel。
  8. 从app store安装1.1v,登录并在此基础上我在发布模式下创建了1.1.1v app并安装。
  9. 但是应用程序开始崩溃,它说商店网址为空,这是设备的日志。

    Jan 19 13:04:50 iPod MyApp[15856] <Error>: Magical Record Stack: Current Default Core Data Stack: ---- 
        Model:           {
            BroadcastMessage = <6fa959c6 514f4c53 e53e7fd7 28585c56 6d4da4ad ba56c2c4 d92bef6e debadfd4>;
            Data = <92870bec c4a8794e 293dcbe9 93282d69 cb675039 cb9b9bf6 8dda6359 34697663>;
            Event = <de060947 8ec9f2bb 80e341eb 787e7eec 7cc2a09f 356e511c 7d515ca5 130690fe>;
            InvitedFriend = <1e041915 6931f26e fd325666 299adf13 5fa2a735 b16b5faf cc0c7de1 1792c97f>;
            MAnswer = <5c06b689 b0497f14 65e550d0 1bd30779 08056f42 a6361f71 4e0eb2e5 67127d66>;
            MQuestion = <96d6e2a6 b96f1371 2c52e719 ca6a0cbd 7957e63a 4a6ccbe8 049e8818 f9ec5d2d>;
            MUser = <af239067 1b3fb3d9 d63b6536 e0e411a8 6ff5f02e db5d7c01 968a4835 4f361610>;
            NotificationSettings = <75be9f25 cfb5f63e 9f717160 9b389386 8fb9d7e2 093648ac beff79dd b0c8181b>;
            RecentContact = <0eaf2696 94c73a4e 9155b3aa c98bf623 51165db6 c1a1472c 2178c3d0 654c0dac>;
        }
        Coordinator:     <NSPersistentStoreCoordinator: 0x15e883a0>
        Store:           (null)
        Default Context: <NSManagedObjectContext (0x15e96c70): *** DEFAULT ***> on *** MAIN THREAD ***
        Context Chain:   
    
        - DEFAULT (0x15e96c70) (*)
        - BACKGROUND SAVING (ROOT) (0x15e99000) 
    Jan 19 13:04:50 SB-iPod Medusa[15856] <Error>: Store2 URL after creation (null)
    

    商店网址为NULL。我不确定为什么会这样。

    如果我在调试模式下运行,我会得到一个有效的URL,并注意我正在使用Magical Records来获取核心数据。

    我已按照此链接中提及的内容https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/Articles/cdUsingMOM.html 但这不起作用

    有人可以告诉我为什么这次迁移失败了,我该如何解决?

1 个答案:

答案 0 :(得分:1)

最后,我最终使用了手动迁移,而不是自动/轻量迁移。这解决了问题

请检查此链接,这是非常有用的https://github.com/magicalpanda/MagicalRecord/issues/466