如果IOS App 使用到CoreData,並且在上一個版本上有資料庫更新(新增表、欄位等操作),那在覆蓋安裝程式時就要進行CoreData資料庫的遷移,具體操作如下:
1.選中你的mydata.xcdatamodeld檔案,選擇菜單editor->Add Model Version 比如取名:mydata2.xcdatamodel
2.設定目前的版本
選擇上級mydata.xcdatamodeld ,在inspector中的Versioned Core Data Model選擇Current模版為mydata2
3.修改新資料模型mydata2,在新的檔案上添加欄位及表
4.刪除原來的類檔案,重建下類。
在appdelegate中
[html]
NSDictionary *optionsDictionary = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],
NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES],
NSInferMappingModelAutomaticallyOption, nil];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil
URL:storeUrl
options:optionsDictionary
error:&error]) { www.2cto.com
NSLog(@"failed to add persistent store with type to persistent store coordinator");
}
添加 *optionsDictionary,原來options:nil 改成options:optionsDictionary
5.重新編譯下程式。