无法确定命令 1 生成核心数据代码的生成文件路径。该命令的标准错误是

问题描述 投票:0回答:2

请问这里有人遇到过这种错误吗?我把文件放在云端然后上传,然后出现这个错误。

显示最近消息 无法确定用于 Core Data 代码生成的生成文件路径:命令

(cd '/Users/gastonteku/Downloads/App Final Work/My-Book-with-Widget-and-Search' && /Users/gastonteku/Documents/Xcode.app/Contents/Developer/usr/bin/momc --dry-run --action generate --swift-version 5.0 --sdkroot /Users/gastonteku/Documents/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk --iphonesimulator-deployment-target 14.0 --module Sur_les_Ailes_de_la_Foi '/Users/gastonteku/Downloads/App Final Work/My-Book-with-Widget-and-Search/MyBookDataModel.xcdatamodeld' '/Users/gastonteku/Library/Developer/Xcode/DerivedData/Sur_les_Ailes_de_la_Foi-ebjletqfnvziddcmkhqszjlfsyep/Build/Intermediates.noindex/Sur les Ailes de la Foi.build/Debug-iphonesimulator/Sur les Ailes de la Foi.build/DerivedSources/CoreDataGenerated/MyBookDataModel')
退出,状态为 1。命令的输出为:

/Users/gastonteku/Downloads/App Final Work/My-Book-with-Widget-and-Search/MyBookDataModel.xcdatamodeld:: 错误:无法获取生成的文件路径:错误,无法从 /Users 读取核心数据数据模型/gastonteku/Downloads/App Final Work/My-Book-with-Widget-and-Search/MyBookDataModel.xcdatamodeld/MyBookDataModel.xcdatamodel:未知模型格式 [0]

我在Stack上看到了这个,但我无法将其应用到我的项目中,事实上我不明白。 enter image description here

enter image description here

swift database xcode core-data
2个回答
0
投票

这可能对OP没有帮助,因为他们已经表示他们会继续前进,但我只是遇到了同样的错误并设法解决了它,所以我为未来的读者发帖。


就我而言,出于某种我无法辨别的原因,在 XCode (v15.0.1) 中打开我的

.xcdatamodeld
文件将显示文本编辑器而不是 Core Data UI。然后,当我尝试构建时,我得到了与OP相同的错误(
unknown model format [0]
)。

在尝试了互联网上的随机建议后(无济于事),我创建了一个新的 Core Data 模型,验证了它是否会在 Core Data 编辑器中打开,关闭 XCode 并打开 Finder。

右键单击新模型 (

MyModel.xcdatamodeld
) 并选择“显示包内容”,其内容显示为
MyModel.xcdatamodel
(名称不同,末尾缺少
d
)。

然后,右键单击该文件并再次选择“显示包内容”,会显示一个名为

contents
的文件,其中包含实际的 XML 内容。到目前为止,一切都很好。

当用我的工作模型尝试相同的操作时,在

NonWorkingModel.xcdatamodeld
内部,正如预期的那样,
NonWorkingModel.xcdatamodel
,但这是一个文件,而不是另一个包。

准确地说,它是一个包含模型内容的 XML 文件,但它缺少顶部的 XML 声明(即

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
)。

我将非工作模型结构与另一个对齐,创建一个中间文件夹并将 XML 移动到中间文件夹内的

contents
文件中,并在顶部添加 XML 声明,神奇的是,现在 XCode 可以正确打开它。


底线

如果您的 Core Data 模型有问题,请在 Finder 中检查其结构并将其与全新模型进行比较。


0
投票

我在 Xcode 版本中遇到了同样的问题。 15.3... 在处理一个项目时,我第二天打开它,由于某种原因,我的 CoreData.xcdatamodeld 数据模型与项目断开了连接,这意味着 File.xcdatamodeld 变成了红色。

我没有深入研究修复错误、创建新模型 — File.xcdatamodeld 或向 Apple 编写报告,但我认为这可能是 Xcode 中的错误。

解决方案很简单:右键单击与项目断开连接的红色文件 - File.xcdatamodeld,然后选择“将文件添加到‘您的项目’”。将打开项目中包含 CoreData 文件的文件夹,只需选择(重新连接到项目)断开连接的文件即可。



在此过程后按“cmd + S”以确保 Xcode 保存设置。

下次在 Xcode 中打开项目时,一切都会正常。


祝大家编码愉快!

© www.soinside.com 2019 - 2024. All rights reserved.