所以我今天花了大部分时间试图解决这个问题,而且我已经在我能想到的每一个方向上正式打了一堵砖墙。
以下是我项目的简化版本: 我有一个包含多个项目的工作区。当我构建时,每个项目都会创建一个我的主应用程序链接到的框架目标。
我需要添加另一个框架,但只有我的一个项目需要它 - 而不是我的主应用程序。
所以我创建了另一个项目,并构建了框架OK。我能够采用这个预先构建的框架并将其推入我的项目中,所有内容都构建并运行良好。
但是,我必须改变这种方法有两个原因:
1)如果我想改变框架,我将不得不打开一个单独的项目,修改和构建,然后重新移动该框架。
2)现在,我通常可以解决这个问题,但是当我尝试构建我的应用程序时,错误被抛出,因为它不喜欢我,包括我的库中包含的动态链接库。
SO。我决定将整个新框架项目移到我的主项目,作为另一个项目的子项目。
这是一个正在发生的事情的图表(原谅我缺乏绘画技巧):
当我这样做时,我在构建时开始出现此错误:
2014-09-30 15:16:02.135 xcodebuild[43026:561b] DVTAssertions: ASSERTION FAILURE in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-6245/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/TargetSnapshots/HelperClasses/XCProjectHeadermapCreationInfo.mm:684
Details: Assertion failed: err == CXError_Success && "unexpected API failure"
Object: <XCProjectHeadermapCreationInfo: 0x7fe10ec2e390>
Method: -createVFSWithMacroExpansionScope:
Thread: <NSThread: 0x7fe10f3ed7c0>{name = (null), num = 3}
Hints: None
Backtrace:
0 0x000000010fa6f15a -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation)
1 0x000000010fa6ebaf _DVTAssertionHandler (in DVTFoundation)
2 0x000000010fa6ee9e _DVTAssertionFailureHandler (in DVTFoundation)
3 0x000000010fa6ee00 _DVTAssertionFailureHandler (in DVTFoundation)
4 0x00000001113c1287 -[XCProjectHeadermapCreationInfo createVFSWithMacroExpansionScope:] (in DevToolsCore)
5 0x000000011141f151 -[PBXBuildOperationContext constructVFSForSnapshot:withMacroExpansionScope:atPath:] (in DevToolsCore)
6 0x000000011151942a -[XCNativeTargetDGSnapshot(DependencyGraphCreation) computeDependenciesWithMacroExpansionScope:] (in DevToolsCore)
7 0x00000001113f2c2a -[PBXTargetBuildContext createDependencyGraphWithTargetDGSnapshot:] (in DevToolsCore)
8 0x000000011141063a -[PBXTargetBuildContext(DependencyGraphEvents) dg_setTargetSnapshot:] (in DevToolsCore)
9 0x000000011140f1d8 -[PBXTargetBuildContext(DependencyGraphEvents) processDependencyGraphEvents] (in DevToolsCore)
10 0x000000011146b770 -[XCBlockQueue _processNextBlockInThreadSlotNumber:] (in DevToolsCore)
11 0x000000011146ba40 -[XCBlockQueue _processBlocksInThreadSlotNumber:] (in DevToolsCore)
12 0x00007fff94571dfb __NSThread__main__ (in Foundation)
13 0x00007fff95807899 _pthread_body (in libsystem_pthread.dylib)
14 0x00007fff9580772a _pthread_struct_init (in libsystem_pthread.dylib)
15 0x00007fff9580bfc9 thread_start (in libsystem_pthread.dylib)
Build step 'Xcode' marked build as failure
Flowdock: Team Inbox notification sent successfully
Flowdock: Chat notification sent successfully
Finished: FAILURE
所以我想,也许我应该把这个子项目移回到根工作区。所以我做了那个,做了所有的链接,但发现我仍然有同样的错误。我调查了工作区,并注意到我的新项目的路径是绝对路径。所以我把它改成了相对路径,然后我的xcode崩溃了。现在,每当我打开XCode时,它会在开始尝试索引(在5秒内)时立即崩溃
此后我将我的更改还原到工作区,但每次都会崩溃。我删除了我的/ Library / Developer / Xcode / DerivedData文件夹,清理了所有内容,但它仍然崩溃了。这是崩溃日志:
Crashed Thread: 14 Dispatch queue: <IDEBuildOperation:0x7fd96cf1d7a0:REfc>-builder-queue :: NSOperation 0x7fd96d97cad0 (QOS: UTILITY)
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 6A1030
ASSERTION FAILURE in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-6257/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/TargetSnapshots/HelperClasses/XCProjectHeadermapCreationInfo.mm:684
Details: Assertion failed: err == CXError_Success && "unexpected API failure"
Object: <XCProjectHeadermapCreationInfo: 0x7fd96c6c4110>
Method: -createVFSWithMacroExpansionScope:
Thread: <NSThread: 0x7fd96b7fa550>{number = 11, name = (null)}
Hints: None
Backtrace:
0 0x000000010c1dba7a -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit)
1 0x000000010af95b9f _DVTAssertionHandler (in DVTFoundation)
2 0x000000010af95e8e _DVTAssertionFailureHandler (in DVTFoundation)
3 0x000000010af95df0 _DVTAssertionFailureHandler (in DVTFoundation)
4 0x0000000116260017 -[XCProjectHeadermapCreationInfo createVFSWithMacroExpansionScope:] (in DevToolsCore)
5 0x00000001162bdee1 -[PBXBuildOperationContext constructVFSForSnapshot:withMacroExpansionScope:atPath:] (in DevToolsCore)
6 0x00000001163b81ba -[XCNativeTargetDGSnapshot(DependencyGraphCreation) computeDependenciesWithMacroExpansionScope:] (in DevToolsCore)
7 0x00000001162919ba -[PBXTargetBuildContext createDependencyGraphWithTargetDGSnapshot:] (in DevToolsCore)
8 0x00000001162af3ca -[PBXTargetBuildContext(DependencyGraphEvents) dg_setTargetSnapshot:] (in DevToolsCore)
9 0x00000001162adf68 -[PBXTargetBuildContext(DependencyGraphEvents) processDependencyGraphEvents] (in DevToolsCore)
10 0x000000011624676b -[PBXTarget(XCBuildables) buildWillStartForBuilder:buildParameters:] (in DevToolsCore)
11 0x0000000116439d52 -[Xcode3TargetBuildableSnapshot buildForBuilderWillStart:] (in DevToolsCore)
12 0x000000010b92eeac -[IDEBuildableSnapshot performBuildForBuilder:buildCommand:buildOnlyTheseFiles:] (in IDEFoundation)
13 0x000000010b92e5cd -[IDEBuilder main] (in IDEFoundation)
14 0x00007fff912be87c -[__NSOperationInternal _start:] (in Foundation)
15 0x00007fff912be483 __NSOQSchedule_f (in Foundation)
16 0x00007fff8cdecc13 _dispatch_client_callout (in libdispatch.dylib)
17 0x00007fff8cdf0365 _dispatch_queue_drain (in libdispatch.dylib)
18 0x00007fff8cdf1ecc _dispatch_queue_invoke (in libdispatch.dylib)
19 0x00007fff8cdef6b7 _dispatch_root_queue_drain (in libdispatch.dylib)
20 0x00007fff8cdfdfe4 _dispatch_worker_thread3 (in libdispatch.dylib)
21 0x00007fff917236cb _pthread_wqthread (in libsystem_pthread.dylib)
22 0x00007fff917214a1 start_wqthread (in libsystem_pthread.dylib)
abort() called
Application Specific Signatures:
err == CXError_Success && "unexpected API failure"
我注意到错误与之前的错误相同,因为它不会构建。我已经尝试过清理我所能做到的一切,而且我之前提交过一个没有这个问题的提交,当然。我不知道为什么我没有建立,现在为什么我永远崩溃。我在Xcode 6.1 beta,我已经尝试重新安装,安装Xcode 6,并安装Xcode 5,我仍然遇到同样的问题。谷歌上没有任何关于这些错误的信息,而且我正式在一个非常厚的砖墙上。
如果有人可以给我一些信息,或者他们在这里认出任何东西;我大多只希望能够再次使用Xcode
提前致谢!
答案 0 :(得分:1)
在我的案例中,删除派生数据文件夹修复了此崩溃。
rm -rf ~/Library/Developer/Xcode/DerivedData/*
答案 1 :(得分:0)
结束我的旧问题 - 这是不久前的事情,但事实证明工作区不喜欢我添加任何新项目。我不得不恢复这些变化,不可避免地我转向了cocoapods,我没有任何问题,因为