gpt4 book ai didi

ios - 核心数据 - 无法在路径加载优化模型

转载 作者:IT老高 更新时间:2023-10-28 11:26:04 25 4
gpt4 key购买 nike

我在使用 iOS 9 beta 5 的 iPhone 6 中从 Xcode 6 运行我的应用程序时,在我的控制台中得到了一些这样的打印结果:

CoreData: Failed to load optimized model at path '/var/mobile/Containers/Bundle/Application/0000000B-BDBC-0000-000B-0000FB00000B/Distribution.app/database.momd/database.omo'

我找不到与此相关的内容,有人知道此消息的线索吗?

最佳答案

我遇到了这个问题并做了一些研究。

我一直在使用 Xcode 6.4 进行构建,看起来以前的核心数据只在 MyApp.ipa momd 目录中生成了一个 .mom 文件。这个屏幕截图来自一个已经看过几个版本的 Xcode 的项目。

请注意,所有旧型号版本都只有一个 .mom 文件。我今天刚刚创建了一个新的模型版本,它有一个 .mom 和一个 .omo 文件。

enter image description here

似乎 Xcode 6.4(可能还有一些 beta 7.x 版本)不知道如何加载数据模型的优化版本,因为我也得到了

2015-10-16 11:11:42.563 MyAppName[1767:599635] CoreData: Failed to load optimized model at path '/var/mobile/Containers/Bundle/Application/D887D60B-FB28-4059-8167-F573460D98F8/MyAppName.app/MyDataModel.momd/MyDataModel3_0Analytics.omo'

使用 6.4 编译时出现警告。但是,当使用最新的应用商店版本的 Xcode (7.0.1) 编译应用程序时,我没有收到该警告。我猜 Mahesh 的解决方案起作用的原因是因为重写整个架构会创建应用程序在应用程序包中寻找的 .omo 文件。

我的解决方案是在核心数据中生成一个新的数据模型版本,然后用 Xcode 7 构建。似乎创建一个新的模型版本会创建优化的模型文件。不过,在我的测试中,即使创建了这个文件,Xcode 6.4 仍然会引发错误。直到我用 Xcode 7.0.1 尝试过,警告才消失。

这是推测,但我认为如果您有一个现有项目并且尚未创建新的数据模型版本并使用 Xcode 7 构建,则 .omo 文件丢失,因此它会抛出警告,因为它找不到该文件。但是,如果您已经对数据模型进行了版本化并使用 Xcode 6.4 进行构建,那么早期的 Xcode 版本似乎无法正确使用优化版本,并且即使它在那里也不会加载它。不过,这些只是我的观察。

我通过执行以下操作验证了我有一个要加载的优化模型(.omo 文件): 1. 归档你的项目 2. 将 .ipa 扩展名更改为 .zip 3. 展开你的 zip 文件 4. 点击“payload”文件夹,右键(或cmd点击)文件夹中的app bundle,选择“Show Package Contents”。 5. 单击 .momd 目录,您应该会在那里看到所有可用的托管对象模型。

如果您只有 .mom 文件而没有 .omo 文件,则警告完全有道理,应用无法打开不存在的文件。

在我的测试中,该警告似乎仅供引用。我从来没有因为它而崩溃过。似乎核心数据可能会首先尝试加载优化模型,如果失败则回退到常规 .momd 模型。不过这只是我的猜测。

我不确定这里的一切是否完全正确,这正是我迄今为止在尝试调试时观察到的。如果其他人可以提供更多信息,我欢迎您的意见。

关于ios - 核心数据 - 无法在路径加载优化模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32233939/

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