路径处的数据模型编译失败

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

今晚我试图向应用商店发布一个应用程序。过去几个月我一直在开发 Xcode 6 - Beta 2(仅限 Objective-C),并且不知道您不允许通过 Xcode Beta 提交。因此,我在普通 Xcode 中打开了该项目,并在尝试重新存档该项目时收到以下错误:

Compilation failed for data model at path '/Users/ME/Library/Developer/Xcode/DerivedData/ProjectDataFolder/Build/Products/Debug-iphoneos/Project.app/Model.momd/Model.mom'

我尝试删除派生数据、清理构建文件夹等标准内容。我还尝试清理档案文件夹和模拟器应用程序文件夹。两者都不起作用。然而,在 Xcode Beta 中重新打开应用程序第一次尝试就成功了。返回Xcode,出现同样的错误。

任何帮助将不胜感激。

ios core-data compiler-errors
7个回答
95
投票

我在创建新的 CoreData 模型版本并立即删除它后遇到了这个问题。上述版本没有出现在 Xcode 的 Project Navigator 中,但导致了编译错误。我在其中一个模型版本中使用了“在 Finder 中显示”,找到了已删除模型版本的 .mom 文件。手动删除为我解决了这个问题。


18
投票

我遇到了同样的问题(Xcode 版本 - 6.1.1)。对我来说,以下 2 个步骤有帮助:

  • 我通过使用 .xcdatamodel 文件的“在 Finder 中显示”选项删除了额外的模型版本
  • 我删除了对 .xcdatamodel 文件的引用并再次添加了它

4
投票

我遇到了同样的错误,在我的实例中,这是由于我们不小心在

Targets->Build Phases->Compile sources
中引用了两次 xcdatamodelid 文件造成的 只需删除重复条目之一即可修复此问题。

这可能不是导致您出现问题的原因,但它让我困惑了几天,因此值得检查是否有其他人再次遇到同样的问题。


4
投票

出现此问题是因为 .xcdatamodel 多次丢失其引用。

因此,要解决此问题,请删除 .xcdatamodel 的引用,然后在项目中再次添加它。


3
投票

我在创建新的 CoreData 模型版本并立即删除它后遇到了这个问题。上述版本没有出现在 Xcode 的 Project Navigator 中,但却导致了编译错误。

  1. 使用取景器中的显示找到现有的
    .xcdatamodeld
  2. 显示包装内容。
  3. 这是冲突的模型版本,删除不需要的版本,现在就可以排序了。

1
投票

您可以尝试在Xcode5中编辑并重新保存您的数据模型。

另外,当您实际归档时,请尝试找出为什么错误在构建路径中提到“调试”。您的项目文件很可能已被 Beta Xcode 更新,因此您可能需要检查目标设置是否有任何可疑内容。

将来使用 Beta 软件时,您应该始终使用最新的软件,在这种情况下,即今天的 Beta6。


0
投票

就我而言,我删除了 xcdatamodel 包内的“contents”文件,但没有删除包(文件夹)。该包是一个空文件夹,Xcode 尝试读取内容但失败。

我从 SourceTree (git) 中删除了模型,它离开了文件夹并导致了错误。

拆掉包装后,就成功了。

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