iPhone - 迁移时Core Data崩溃

时间:2009-12-09 13:31:17

标签: iphone sqlite core-data

我遇到问题,当我从Xcode安装应用程序时都可以正常工作,但是如果我构建应用程序并从iTunes安装它我在发布时遇到了数据库错误。 这种情况发生的只是核心数据模型中的更改,并且需要迁移到新版本。 首先在崩溃时发布消息:

Thread 0:
0   libSystem.B.dylib               0x00034588 pwrite + 20
1   libsqlite3.dylib                0x000505ec _sqlite3_purgeEligiblePagerCacheMemory + 2808
2   libsqlite3.dylib                0x000243d8 sqlite3_backup_init + 7712
3   libsqlite3.dylib                0x000244ac sqlite3_backup_init + 7924
4   libsqlite3.dylib                0x0000d418 sqlite3_file_control + 4028
5   libsqlite3.dylib                0x000228b4 sqlite3_backup_init + 764
6   libsqlite3.dylib                0x00022dd0 sqlite3_backup_init + 2072
7   libsqlite3.dylib                0x000249a8 sqlite3_backup_init + 9200
8   libsqlite3.dylib                0x00029800 sqlite3_open16 + 11360
9   libsqlite3.dylib                0x0002a200 sqlite3_open16 + 13920
10  libsqlite3.dylib                0x0002ab84 sqlite3_open16 + 16356
11  libsqlite3.dylib                0x00049418 sqlite3_prepare16 + 54056
12  libsqlite3.dylib                0x00002940 sqlite3_step + 44
13  CoreData                        0x00011958 _execute + 44
14  CoreData                        0x000113e0 -[NSSQLiteConnection execute] + 696
15  CoreData                        0x000994be -[NSSQLConnection prepareAndExecuteSQLStatement:] + 26
16  CoreData                        0x000be14c -[_NSSQLiteStoreMigrator performMigration:] + 244
17  CoreData                        0x000b6c60 -[NSSQLiteInPlaceMigrationManager migrateStoreFromURL:type:options:withMappingModel:toDestinationURL:destinationType:destinationOptions:error:] + 1040
18  CoreData                        0x000aceb0 -[NSStoreMigrationPolicy(InternalMethods) migrateStoreAtURL:toURL:storeType:options:withManager:error:] + 92
19  CoreData                        0x000ad6f0 -[NSStoreMigrationPolicy migrateStoreAtURL:withManager:metadata:options:error:] + 72
20  CoreData                        0x000ac9ee -[NSStoreMigrationPolicy(InternalMethods) _gatherDataAndPerformMigration:] + 880
21  CoreData                        0x0000965c -[NSPersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:error:] + 1328

下次启动时,应用程序不会从数据库加载数据。

2 个答案:

答案 0 :(得分:0)

您是否将database.sqlite文件从Resources文件夹复制到apps Documents文件夹?你应该在首次启动的应用程序上执行此操作(之后,检查是否存在文件,以免您覆盖它)。

答案 1 :(得分:0)

你确定它是“崩溃”而不是xxx failed to launch in time错误吗?迁移通常需要几秒钟,并且可能比Apple为初始化提供的时间长。您可能必须在后台迁移。