构建失败——属性必须具有已定义的类型
Build failed--attribute must have a defined type
我的应用程序在构建时崩溃。这是完整的错误:
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 文件夹。仍然不会构建。
编辑:
我刚刚重新创建了我所有的托管子类文件。仍然没有骰子——同样的错误信息。
编辑:
我尝试 运行将另一个项目作为对照,并收到此消息:
无法在模拟器中 运行 应用程序
运行ning (Domain = FBSOpenApplicationErrorDomain, Code = 4)
时遇到错误
所以我退出 Xcode 并重新启动模拟器 Xcode。同样的错误。
更多信息
我重新启动计算机并再次尝试,但仍然收到 "Build Failed" 相同的错误消息。
如果其他人 运行 喜欢这样的东西,我当然会很感激这里的一些指导......:)
最终编辑
请在下面的回答中查看解决方案...
我从未遇到过您描述的问题,但有一些建议。抱歉,如果您已经尝试过这些:
首先,在模型编辑器中,您能否访问您怀疑有问题的模型版本 5,例如:
如果存在,您有望修复属性错误。如果它没有出现在那里,您是否尝试过在项目导航器中右键单击并 select "Show in Finder":
然后在 Finder 中寻找版本 5?
好的,我决定删除我的 xcdatamodeld 并重建整个模型,最终解决了这个问题。一些关于如何做到这一点的研究在 this answer.
中产生了一种破坏性较小且风险较小的方法
希望它能帮助其他人解决这个问题。
感谢所有看过的人!
我的应用程序在构建时崩溃。这是完整的错误:
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 文件夹。仍然不会构建。
编辑:
我刚刚重新创建了我所有的托管子类文件。仍然没有骰子——同样的错误信息。
编辑:
我尝试 运行将另一个项目作为对照,并收到此消息:
无法在模拟器中 运行 应用程序 运行ning (Domain = FBSOpenApplicationErrorDomain, Code = 4)
时遇到错误所以我退出 Xcode 并重新启动模拟器 Xcode。同样的错误。
更多信息
我重新启动计算机并再次尝试,但仍然收到 "Build Failed" 相同的错误消息。
如果其他人 运行 喜欢这样的东西,我当然会很感激这里的一些指导......:)
最终编辑
请在下面的回答中查看解决方案...
我从未遇到过您描述的问题,但有一些建议。抱歉,如果您已经尝试过这些:
首先,在模型编辑器中,您能否访问您怀疑有问题的模型版本 5,例如:
如果存在,您有望修复属性错误。如果它没有出现在那里,您是否尝试过在项目导航器中右键单击并 select "Show in Finder":
然后在 Finder 中寻找版本 5?
好的,我决定删除我的 xcdatamodeld 并重建整个模型,最终解决了这个问题。一些关于如何做到这一点的研究在 this answer.
中产生了一种破坏性较小且风险较小的方法希望它能帮助其他人解决这个问题。
感谢所有看过的人!