我遇到问题,当我从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
下次启动时,应用程序不会从数据库加载数据。
答案 0 :(得分:0)
您是否将database.sqlite文件从Resources文件夹复制到apps Documents文件夹?你应该在首次启动的应用程序上执行此操作(之后,检查是否存在文件,以免您覆盖它)。
答案 1 :(得分:0)
你确定它是“崩溃”而不是xxx failed to launch in time
错误吗?迁移通常需要几秒钟,并且可能比Apple为初始化提供的时间长。您可能必须在后台迁移。