gpt4 book ai didi

ios - "Can' t 为源存储找到模型 "occurring during iphone "自动轻量级迁移”?

转载 作者:IT王子 更新时间:2023-10-29 08:05:10 30 4
gpt4 key购买 nike

我真的被 iPhone 应用程序从 v1 升级到 v2 的测试困住了。我有 IPA 版本,我正在通过 iTunes 通过临时分发测试到我的 iPhone 设备,一个用于应用程序的 v1,一个用于 v2。请注意:

  • v1 安装在我的设备上运行良好
  • 如果我删除 v1 并部署 v2(因此没有迁移)那么它工作正常
  • 当我部署 v2 而 v1 已经存在时,我收到错误:“原因=无法找到源存储的模型”

错误片段...*

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>
  • 当我使用“电话磁盘”查看我的设备时,我看到有 Documents/MyApp.sqlite 文件

问题 - 有什么解决办法吗?我可以在这里做什么调试/分析?如果您需要更多信息,请告诉我。

作为概述,我所做的是:

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";
}

附言。如果这对每个版本存档的核心数据模型 *.mom 目录/包的内容有帮助:

第一版

-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>

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>

编辑:另一个我不清楚的问题是,通过查看下面提供的链接 jrturton 提出的是:

  1. 在最新的 XCode 版本中,如何将“设置当前版本”设置为适当的模型版本文件?即之前的帖子强调了两个不同的步骤,一个是添加模型版本,然后是单独的“设置当前版本”
  2. 应该如何使用可以为每个核心数据模型文件设置的核心数据模型“标识符”字段。它在检查器中。该参数存在于 MyApp 1.xcdatamodel、MyApp 2.xcdatamodel 和 MyApp.xcdatamodel 文件中,那么您需要在此处分别输入什么?

最佳答案

选择 xcdatamodeld 文件后,您可以在“实用程序”检查器(右侧 Pane )中的“身份和类型”选项卡下设置数据模型的版本。这有一个名为“核心数据模型”的部分和一个名为“标识符”的字段。

您可以通过选择 xcdatamodeld 文件添加新的模型版本,然后转到编辑器 --> 添加模型版本。

此时它会提示您选择以前的模型作为基础。

如果您在未完成此过程的情况下添加了新模型,则轻量级迁移可能无法正常工作。

关于ios - "Can' t 为源存储找到模型 "occurring during iphone "自动轻量级迁移”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7624502/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com