成功构建后,Xcodebuild会抛出断言失败?

时间:2010-06-06 10:24:51

标签: xcodebuild

我在使用xcodebuild从命令行构建后得到以下内容,是什么意思可能出错?

** BUILD SUCCEEDED **

2010-06-06 20:20:12.916 xcodebuild[8267:80b] [MT] ASSERTION FAILURE in    
/SourceCache/DevToolsBase/DevToolsBase-1648/pbxcore/Target.subproj/PBXTarget.m:597
Details:  Assertion failed: (nil == _buildContext) || (nil == [_buildContext target])
Object:   <PBXLegacyTarget:0x104b97370>
Method:   -dealloc
Thread:   <NSThread: 0x100b141a0>{name = (null), num = 1}
Backtrace:
  0  0x000000010035feaf -[XCAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in DevToolsCore)
  1  0x000000010035fc1a _XCAssertionFailureHandler (in DevToolsCore)
  2  0x00000001002790d1 -[PBXTarget dealloc] (in DevToolsCore)
  3  0x00000001002911e8 -[PBXLegacyTarget dealloc] (in DevToolsCore)
  4  0x00000001002c5b16 -[PBXTargetBookmark dealloc] (in DevToolsCore)
  5  0x00007fff8224ff71 __CFBasicHashStandardCallback (in CoreFoundation)
  6  0x00007fff82250931 __CFBasicHashDrain (in CoreFoundation)
  7  0x00007fff822396b3 _CFRelease (in CoreFoundation)
  8  0x0000000100254171 -[PBXProject dealloc] (in DevToolsCore)
  9  0x00007fff82262d56 _CFAutoreleasePoolPop (in CoreFoundation)
 10  0x00007fff841b530c -[NSAutoreleasePool drain] (in Foundation)
 11  0x000000010000c60d
 12  0x00000001000014f4
** INTERNAL ERROR: Uncaught Exception **
Exception: ASSERTION FAILURE in /SourceCache/DevToolsBase/DevToolsBase-1648/pbxcore/Target.subproj/PBXTarget.m:597
Details:  Assertion failed: (nil == _buildContext) || (nil == [_buildContext target])
Object:   <PBXLegacyTarget:0x104b97370>
Method:   -dealloc
Thread:   <NSThread: 0x100b141a0>{name = (null), num = 1}
Backtrace:
  0  0x000000010035feaf -[XCAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in DevToolsCore)
  1  0x000000010035fc1a _XCAssertionFailureHandler (in DevToolsCore)
  2  0x00000001002790d1 -[PBXTarget dealloc] (in DevToolsCore)
  3  0x00000001002911e8 -[PBXLegacyTarget dealloc] (in DevToolsCore)
  4  0x00000001002c5b16 -[PBXTargetBookmark dealloc] (in DevToolsCore)
  5  0x00007fff8224ff71 __CFBasicHashStandardCallback (in CoreFoundation)
  6  0x00007fff82250931 __CFBasicHashDrain (in CoreFoundation)
  7  0x00007fff822396b3 _CFRelease (in CoreFoundation)
  8  0x0000000100254171 -[PBXProject dealloc] (in DevToolsCore)
  9  0x00007fff82262d56 _CFAutoreleasePoolPop (in CoreFoundation)
 10  0x00007fff841b530c -[NSAutoreleasePool drain] (in Foundation)
 11  0x000000010000c60d
 12  0x00000001000014f4

Stack:
  0  0x00007fff822ded06 __exceptionPreprocess (in CoreFoundation)
  1  0x00007fff832470f3 objc_exception_throw (in libobjc.A.dylib)
  2  0x00007fff823369b9 -[NSException raise] (in CoreFoundation)
  3  0x000000010035ff6a -[XCAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in DevToolsCore)
  4  0x000000010035fc1a _XCAssertionFailureHandler (in DevToolsCore)
  5  0x00000001002790d1 -[PBXTarget dealloc] (in DevToolsCore)
  6  0x00000001002911e8 -[PBXLegacyTarget dealloc] (in DevToolsCore)
  7  0x00000001002c5b16 -[PBXTargetBookmark dealloc] (in DevToolsCore)
  8  0x00007fff8224ff71 __CFBasicHashStandardCallback (in CoreFoundation)
  9  0x00007fff82250931 __CFBasicHashDrain (in CoreFoundation)
 10  0x00007fff822396b3 _CFRelease (in CoreFoundation)
 11  0x0000000100254171 -[PBXProject dealloc] (in DevToolsCore)
 12  0x00007fff82262d56 _CFAutoreleasePoolPop (in CoreFoundation)
 13  0x00007fff841b530c -[NSAutoreleasePool drain] (in Foundation)
 14  0x000000010000c60d
 15  0x00000001000014f4

Abort trap

3 个答案:

答案 0 :(得分:3)

我有完全相同的症状......并且没有任何线索。它用于我的项目工作正常。我彻底改变了我的构建设置,现在它做了这个???

即使构建设置错误,XCode也不会崩溃。

对我来说,它仍然会在最后生成有效的二进制文件。听起来像XCode在关闭项目和解除分配时崩溃了。

然而,似乎我找到了一种通过删除xcode项目包中的所有.pbxuser和.perspectivev3文件来消除错误的方法。

如果您和我一样,并且您有大量的Xcode项目,您可能希望在代码库的根目录下运行以下命令:

find . -type f -name "*.pbxuser" -exec rm -f {} \;
find . -type f -name "*.perspectivev3" -exec rm -f {} \;

答案 1 :(得分:0)

我也解决了这个问题,我在启动XCode应用程序时无法打开XCode项目。我安装了旧版本的XCode以及旧版iOS SDK。

答案 2 :(得分:-1)

请注意Steph解决方案,因为它可能会造成严重破坏。这是一个类似的问题和答案:xcode Assertion failed

如果人们一般都在寻找Assert故障排除故障。