构建失败 - 属性必须具有已定义的类型

时间:2015-03-25 00:39:54

标签: ios core-data magicalrecord

我的应用在构建时崩溃了。以下是其中的错误:

DataModelVersionCompile /Users/AAAAAAA/Library/Developer/Xcode/DerivedData/XXXXXXXXXX-envirswdnpegjccdpxakhoykfnfq/Build/Products/Debug-iphonesimulator/XXXXXXXXXX.app/WMMGDataModel.momd XXXXXXXXXX/WMMGDataModel.xcdatamodeld
    cd "/Users/AAAAAAA/Desktop/Everything from DT 1:20:15/App projects/WMMG/XXXXXXXXXX"
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/momc -XD_MOMC_SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -XD_MOMC_IOS_TARGET_VERSION=8.1 -MOMC_PLATFORMS iphonesimulator /Users/AAAAAAA/Desktop/Everything\ from\ DT\ 1:20:15/App\ projects/WMMG/XXXXXXXXXX/XXXXXXXXXX/WMMGDataModel.xcdatamodeld /Users/AAAAAAA/Library/Developer/Xcode/DerivedData/XXXXXXXXXX-envirswdnpegjccdpxakhoykfnfq/Build/Products/Debug-iphonesimulator/XXXXXXXXXX.app/WMMGDataModel.momd

/Users/AAAAAAA/Desktop/Everything from DT 1:20:15/App projects/WMMG/XXXXXXXXXX/XXXXXXXXXX/WMMGDataModel.xcdatamodeld/WMMGDataModel 5.xcdatamodel:WMMGAccount.attribute: error: WMMGAccount.attribute must have a defined type
/Users/AAAAAAA/Desktop/Everything from DT 1:20:15/App projects/WMMG/XXXXXXXXXX/XXXXXXXXXX/WMMGDataModel.xcdatamodeld:0: error: Compilation failed for data model at path '/Users/AAAAAAA/Library/Developer/Xcode/DerivedData/XXXXXXXXXX-envirswdnpegjccdpxakhoykfnfq/Build/Products/Debug-iphonesimulator/XXXXXXXXXX.app/WMMGDataModel.momd/WMMGDataModel 5.mom'
Command /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/momc failed with exit code 1

相关部分似乎是:

/Users/AAAAAAA/Desktop/Everything from DT 1:20:15/App projects/WMMG/XXXXXXXXXX/XXXXXXXXXX/WMMGDataModel.xcdatamodeld/WMMGDataModel 5.xcdatamodel:WMMGAccount.attribute: error: WMMGAccount.attribute must have a defined type

我已进入xcdatamodel,但无法找到任何未按类型正确定义的属性。我看到的一个可疑的事情是对WMMGDataModel 5的引用。我的模型中有8版本,甚至找不到版本5.

此崩溃在最近的自动迁移(使用MagicalRecord)之后开始,其中我向其中一个实体添加了一个属性,然后重新创建了托管对象子类(是的,新的子类包含新的,正确定义的属性)。我之前添加了属性,但这是我第一次遇到此问题。

我清理过这个东西,退出并重新启动Xcode,仍然崩溃。有人有什么想法吗?我还删除了项目的DerivedData文件夹。仍然没有建立。

修改

我刚刚重新创建了所有托管的子类文件。仍然没有骰子 - 相同的错误信息。

修改

我尝试将另一个项目作为控件运行,并收到此消息:

无法在模拟器中运行应用 运行时遇到错误(Domain = FBSOpenApplicationErrorDomain,Code = 4)

所以我退出Xcode和模拟器,重新启动Xcode。同样的错误。

更多信息

我重新启动计算机并再次尝试,但我仍然得到了#34;构建失败"使用相同的错误消息。

如果有其他人碰到这样的事情,我肯定会在这里感谢一些指导...... :)

最终修改

请在下面的答案中查看解决方案......

2 个答案:

答案 0 :(得分:1)

好的,我最终解决了问题,决定删除我的xcdatamodeld并重建整个模型。关于如何做到这一点的一些研究在this answer中产生了一种破坏性较小且风险较小的方法。

这里希望它可以帮助其他人解决这个问题。

感谢所有看过的人!

答案 1 :(得分:0)

我从未遇到过您描述的问题,但提出了一些建议。如果您已经尝试过这些,请道歉:

首先,在模型编辑器中,您是否可以访问您怀疑是问题的模型版本5,例如:

enter image description here enter image description here

如果它在那里,你可以希望修复属性错误。如果它没有出现在那里,您是否尝试右键单击Project Navigator并选择"在Finder中显示":

enter image description here

然后在Finder中寻找版本5?