Gre*_*reg 20 iphone core-data core-data-migration ios
我真的陷入了从iPhone应用程序的v1到v2的升级测试.我有IPA版本,我正在测试通过iTunes临时分发到我的iPhone设备,一个用于应用程序的v1,另一个用于v2.注意:
错误的片段......*
reason=**Can't find model for source store**}, {
URL = "file://localhost/var/mobile/Applications/AAAAF424-D6ED-40FE-AB8D-66879386739D/Documents/MyApp.sqlite";
metadata = {
NSPersistenceFrameworkVersion = 320;
<cut>
Run Code Online (Sandbox Code Playgroud)
问题 - 任何想法如何解决这个问题?我可以在这做什么调试/分析?如果您需要更多信息,请告诉我.
我作为概述所做的是:
PS更全面的错误版本,如果这有帮助 - 这次它来自模拟模拟器上的迁移错误
, reason=Can't find model for source store}, {
URL = "file://localhost/Users/greg/Library/Application%20Support/iPhone%20Simulator/4.3.2/Applications/69FDFDCF-631D-4191-B852-CD75151B1EA9/Documents/MyApp.sqlite";
metadata = {
NSPersistenceFrameworkVersion = 320;
NSStoreModelVersionHashes = {
Config = <5f92f988 71e11a66 554ae924 61887562 22b8de8a c318b110 e3e4a569 81adafa2>;
};
NSStoreModelVersionHashesVersion = 3;
NSStoreModelVersionIdentifiers = (
""
);
NSStoreType = SQLite;
NSStoreUUID = "3B9832DA-E3A1-431B-83E8-43431A7F3452";
};
reason = "Can't find model for source store";
}
Run Code Online (Sandbox Code Playgroud)
PSS.如果这有助于每个版本archieve的核心数据模型*.mom目录/包的内容是:
V1
-rw-r--r-- 1 greg staff 1664 5 Sep 21:06 MyApp.mom
-rw-r--r-- 1 greg staff 2656 5 Sep 21:06 MyApp.omo
-rw-r--r-- 1 greg staff 480 5 Sep 21:06 VersionInfo.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd>">
<plist version="1.0">
<dict>
<key>NSManagedObjectModel_CurrentVersionName</key>
<string>MyApp</string>
<key>NSManagedObjectModel_VersionHashes</key>
<dict>
<key>MyApp</key>
<dict>
<key>Config</key>
<data>
X5L5iHHhGmZVSukkYYh1YiK43orDGLEQ4+SlaYGtr6I=
</data>
</dict></dict></dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
V2
-rw-r--r-- 1 greg staff 497 2 Oct 12:47 MyApp 1.mom
-rw-r--r-- 1 greg staff 1601 2 Oct 12:47 MyApp 2.mom
-rw-r--r-- 1 greg staff 1695 2 Oct 12:47 MyApp.mom
-rw-r--r-- 1 greg staff 2920 2 Oct 12:47 MyApp.omo
-rw-r--r-- 1 greg staff 665 2 Oct 12:47 VersionInfo.plist
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd>">
<plist version="1.0">
<dict>
<key>NSManagedObjectModel_CurrentVersionName</key>
<string>MyApp</string>
<key>NSManagedObjectModel_VersionHashes</key>
<dict>
<key>MyApp</key>
<dict>
<key>Config</key>
<data>
Z/n8092QBHPfBwInZvIm1lei53T1UtZhpNzjl3JA0gs=
</data>
</dict>
<key>MyApp 1</key>
<dict/>
<key>MyApp 2</key>
<dict>
<key>Config</key>
<data>
Fih24clI+kZszFd3X6Gm8itq8YDxudiKnjHW8ydNmps=
</data>
</dict></dict></dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
编辑:通过审查下面提供的链接jrturton提出的另一个我不清楚的问题是:
jrt*_*ton 37
在选择xcdatamodeld文件时,在"标识和类型"选项卡下的"实用程序"检查器(右侧窗格)中设置数据模型的版本.这有一个名为"核心数据模型"的部分,以及一个名为"标识符"的字段.
您可以通过选择xcdatamodeld文件添加新的模型版本,转到编辑器 - >添加模型版本.
此时,它会提示您输入以前的模型.
如果您在不经过此过程的情况下添加了新模型,则轻量级迁移可能无效.
| 归档时间: |
|
| 查看次数: |
20935 次 |
| 最近记录: |