Tag: 迁移

找不到适合核心数据迁移的映射模型

我正在尝试执行需要MappingModel的iOS Core Data迁移。 由于某些原因,核心数据无法使用映射模型,并且会回到自动轻量级迁移。 我启用MigrationDebug选项来获取更多信息,而我所看到的是没有意义的。 映射模型的源哈希和目标哈希是相同的,忽略顺序,源和目标ManagedObjectModels。 看起来应该使用映射模型,但是日志说“找不到合适的映射模型”。 这里是(被忽略的)日志: CoreData: annotation: (migration) will attempt automatic schema migration CoreData: annotation: (migration) looking for mapping model with source hashes: { TSBaseEntity = <4797118c 50068f2f f544d9a9 4884720b 55ec7e4d 0d4c8f4e 1ee44be3 b06d2edc>; TSBuyer = <91e837d1 3f348913 eff634d6 6fb9b3a6 747e2390 fbdc4ae6 32cc56d6 7582d4a8>; … } destination hashes: { TSBaseEntity = <4797118c […]

核心数据映射模型版本哈希与源模型版本哈希不匹配

在启用核心数据迁移debugging的情况下,执行迁移时,如预期的那样,我看到三个实体(2,3,4)具有改变的哈希值。 实体1不改变,用于说明。 存储元数据(源模型): Entity1 = <67852e01 …>; Entity2 = <2b68bba5 …>; Entity3 = <58babd8d …>; Entity4 = <1c694c80 …>; 当前模型(目标模型): Entity1 = <67852e01 …>; Entity2 = <260e4d68 …>; Entity3 = <13360b6f …>; Entity4 = <16513e1b …>; 接下来,我创build了映射模型,但映射模型中的哈希与实际模型中的哈希不同: 映射模型源哈希值: Entity1 = <67852e01 …>; Entity2 = <2b68bba5 …>; Entity3 = <d66bed18 …>; // !!! Entity4 = <2c56997a […]

如何判断一个iOS应用程序是否已经新安装或更新?

我目前在app store有一个应用程序,我打算很快提交更新。 有了这个更新,我想添加代码,它会告诉应用程序,当它第一次运行application:didFinishLaunchingWithOptions无论是: 从应用程序商店的新安装。 从以前的版本新的更新 目前应用程序商店中的应用程序没有代码来处理这个问题。 该应用程序使用SQLite数据库,但出于某些原因,我不会进入这里,我不想使用检查它的存在作为解决这个问题。 作为一个侧面的问题,没有手动存储数据,是否有一个SDK可以用来查询应用程序何时安装到设备上? (最好与iOS 3.0兼容) 我看到了类似的问题 ,但是没有一个答案适用于使用现有的app store代码。

debugging核心数据迁移来比较散列值

我阅读这篇文章(点击)关于修复讨厌的核心数据迁移问题。 作者Victor Bogdan写道,他启用了Data Migration Debug来获取实体的哈希值。 这是什么意思? 是否有可能为迁移启用更多debugging输出? 还是他写了一个带有debugging输出的迁移过程? 我的问题是我无法获得映射模型的实体散列,以将它们与源和目标实体散列进行比较。 我在XCode 4.5.1上,并使用iOS6。 但是,我对旧版本有相同的迁移问题。

核心数据 – 默认迁移(手动)

我已经读过所有可能的博客,所以就这个问题上发表 – 但仍然不知道发生了什么事情。 我也读过这个,但仍然没有运气 – 他们的指导默认迁移种清除,但在我的情况不起作用。 我对iOS开发比较新,所以要温柔:) 这是情况:在我的应用程序(iOS)中称为报表的实体,需要进行以下更改: 数据属性 – 删除 标题属性 – 添加 reportId属性需要从整数16更改为string。 这是什么原因造成我的问题。 我从当前版本创build了我的数据模型的新版本并修改了属性。 首先这里是从应用程序的一些方法: – (NSManagedObjectModel *)managedObjectModel { if (__managedObjectModel != nil) { return __managedObjectModel; } NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"App" withExtension:@"momd"]; __managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; return __managedObjectModel; } 接着 /** Returns the persistent store coordinator for the application. […]