【发布时间】:2011-10-10 22:05:04
【问题描述】:
自从昨天升级到 Lion (10.6->10.7) 以来,我一直无法编译在升级之前编译没有问题的项目。
导致此错误的甚至不是最近对项目的更改:如果我从 SVN 签出几天或一周前的项目版本,我在构建时会遇到相同的错误:
"Command /Developer/usr/bin/momc failed with exit code 6",扩展为:
构建错误:
DataModelVersionCompile /Users/ian/Library/Developer/Xcode/DerivedData/inventory-gtvznzuhomhlakbdpocaqwnrihhx/Build/Products/Debug-iphonesimulator/inventory.app/inventory.momd inventory/inventory.xcdatamodeld
cd /Users/ian/AppsDev/uk.co.isurvey-inventory/ios/inventory/trunk/inventory
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/usr/bin/momc -XD_MOMC_SDKROOT=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -XD_MOMC_IOS_TARGET_VERSION=4.3 -MOMC_PLATFORMS iphonesimulator -MOMC_PLATFORMS iphoneos -XD_MOMC_TARGET_VERSION=10.6 /Users/ian/AppsDev/uk.co.isurvey-inventory/ios/inventory/trunk/inventory/inventory/inventory.xcdatamodeld /Users/ian/Library/Developer/Xcode/DerivedData/inventory-gtvznzuhomhlakbdpocaqwnrihhx/Build/Products/Debug-iphonesimulator/inventory.app/inventory.momd
2011-07-21 19:24:44.954 momc[4436:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSXMLDocument initWithData:options:error:]: nil argument'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff8e411986 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff8d0d5d5e objc_exception_throw + 43
2 CoreFoundation 0x00007fff8e4117ba +[NSException raise:format:arguments:] + 106
3 CoreFoundation 0x00007fff8e411744 +[NSException raise:format:] + 116
4 Foundation 0x00007fff8c761310 -[NSXMLDocument initWithData:options:error:] + 89
5 momc 0x0000000102f04a2c momc + 10796
6 momc 0x0000000102f04fe8 momc + 12264
7 momc 0x0000000102f058f0 momc + 14576
8 momc 0x0000000102f03d20 momc + 7456
9 ??? 0x000000000000000a 0x0 + 10
)
terminate called throwing an exception
Command /Developer/usr/bin/momc failed with exit code 6
进一步说明:
AFAIK,唯一的区别是我现在使用的是 Lion,以及 Xcode 4.1 的 Lion 版本(在此之前我使用 Xcode 4.1 for Snow Leopard)。
我已经删除了 /Developer/ ,我已经重新安装了几次,并重新下载了 App Store Xcode 安装程序,以防它损坏。
如果我使用 Xcode 创建一个 new 项目(并使用 Core Data,我认为这与构建我的项目存在的任何问题有关),它可以构建并运行良好: 也许我需要做一些事情来修复我的真实项目?
任何建议都会很棒! 干杯, 伊恩
【问题讨论】:
-
好的,我设法修复了它:我不得不从 .xcdatamodeld 文件中删除一些 .xcdatamodel 文件,这些文件没有被使用并且应该在很久以前就被删除了。不知道他们为什么还在那里,或者他们为什么会造成问题,甚至不知道我是如何尝试将其作为解决方案的。但是,它现在可以工作了,这绝对是唯一有效的解决方案。
-
我遇到了同样的问题。我有几个版本的数据模型和一个自定义更新模型。幸运的是,这些都是预发布代码,我可以把它们扔掉。如果有人正在使用需要管理模型更新的生产代码 - 请注意。
-
'*** -[NSXMLDocument initWithData:options:error:]: nil argument'是一直想知道的部分。 data 参数是唯一不能为 nil 的参数,所以我想知道哪个文件给它一个 nil NSData? -
进一步检查显示我还在 xcdatamodeld 文件中隐藏了一个长期丢失的版本,该版本未在 Xcode 中列出 - 删除它解决了我的问题 - - 我向苹果报告了这个错误
标签: objective-c xcode4 compiler-errors osx-lion