当我尝试打开我的项目时,收到“内部错误”消息。你对发生的事情有任何想法吗?
Xcode遇到内部逻辑错误。选择“继续”继续以不一致的状态运行Xcode。选择“崩溃”以暂停Xcode并使用Crash Reporter提交错误。选择“崩溃”将导致丢失所有未保存的数据。
详细信息如下:
ASSERTION FAILURE in /SourceCache/IDEFoundation/IDEFoundation-943/Framework/Classes/Model/Execution/RunContext/IDEBuildSchemeAction.m:912
Details: (_buildableReference) should not be nil.
Object: <IDEBuildActionEntry: 0x403120140>
Method: -dvt_awakeFromXMLUnarchiver:
Thread: <NSThread: 0x40010a220>{name = (null), num = 1}
Hints: None
Backtrace:
0 0x000000010b6a8366 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in IDEKit)
1 0x000000010ad201a4 _DVTAssertionFailureHandler (in DVTFoundation)
2 0x000000010b246e89 -[IDEBuildActionEntry dvt_awakeFromXMLUnarchiver:] (in IDEFoundation)
3 0x000000010ad2585a -[DVTXMLUnarchiver decodeElementNodeWithXMLTextReader:owner:container:parsingState:success:error:] (in DVTFoundation)
4 0x000000010ace024a -[DVTXMLUnarchiver decodeNodeWithXMLTextReader:owner:container:parsingState:error:] (in DVTFoundation)
5 0x000000010ad25551 -[DVTXMLUnarchiver decodeElementNodeWithXMLTextReader:owner:container:parsingState:success:error:] (in DVTFoundation)
6 0x000000010ace024a -[DVTXMLUnarchiver decodeNodeWithXMLTextReader:owner:container:parsingState:error:] (in DVTFoundation)
7 0x000000010ad25551 -[DVTXMLUnarchiver decodeElementNodeWithXMLTextReader:owner:container:parsingState:success:error:] (in DVTFoundation)
8 0x000000010ace024a -[DVTXMLUnarchiver decodeNodeWithXMLTextReader:owner:container:parsingState:error:] (in DVTFoundation)
9 0x000000010ad25551 -[DVTXMLUnarchiver decodeElementNodeWithXMLTextReader:owner:container:parsingState:success:error:] (in DVTFoundation)
10 0x000000010ace024a -[DVTXMLUnarchiver decodeNodeWithXMLTextReader:owner:container:parsingState:error:] (in DVTFoundation)
11 0x000000010acdff6a -[DVTXMLUnarchiver _readAndReturnError:] (in DVTFoundation)
12 0x000000010acdfc84 -[DVTXMLUnarchiver decodeWithRootObject:error:] (in DVTFoundation)
13 0x000000010b245cc5 +[IDEScheme schemeFromXMLData:withRunContextManager:customDataStoreContainer:customDataSpecifier:isShown:orderHint:error:] (in IDEFoundation)
14 0x000000010b24542e -[IDERunContextManager _updateMap:contextForCustomDataStore:specifier:] (in IDEFoundation)
15 0x000000010b244b6f -[IDERunContextManager _customDataStoresDidUpdate] (in IDEFoundation)
16 0x000000010ad2a9d0 -[NSObject(DVTPropertyLinking) dvt_addObserverWithName:toKeyPath:ofObject:block:] (in DVTFoundation)
17 0x000000010b244554 -[IDERunContextManager initWithWorkspace:] (in IDEFoundation)
18 0x000000010b2441e5 -[IDEWorkspace _setupRunContextManager] (in IDEFoundation)
19 0x000000010b29e02e __81-[IDEWorkspace _finishLoadingAsynchronously:shouldUpgradeFromSimpleFilesFocused:]_block_invoke_0 (in IDEFoundation)
20 0x00007fff8d9a3b05 -[NSBlockOperation main] (in Foundation)
21 0x00007fff8d96a6d8 -[__NSOperationInternal start] (in Foundation)
22 0x00007fff8d97d936 ____NSOQSchedule_block_invoke_2 (in Foundation)
23 0x00007fff81bde8ba _dispatch_call_block_and_release (in libdispatch.dylib)
24 0x00007fff81be072a _dispatch_main_queue_callback_4CF (in libdispatch.dylib)
25 0x00007fff81f3506c __CFRunLoopRun (in CoreFoundation)
26 0x00007fff81f34676 CFRunLoopRunSpecific (in CoreFoundation)
27 0x00007fff87a8231f RunCurrentEventLoopInMode (in HIToolbox)
28 0x00007fff87a895c9 ReceiveNextEventCommon (in HIToolbox)
29 0x00007fff87a89456 BlockUntilNextEventMatchingListInMode (in HIToolbox)
30 0x00007fff86c93f5d _DPSNextEvent (in AppKit)
31 0x00007fff86c93861 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit)
32 0x00007fff86c9019d -[NSApplication run] (in AppKit)
33 0x00007fff86f0eb88 NSApplicationMain (in AppKit)
34 0x000000010acb3eec (in Xcode)
35 0x0000000000000002
答案 0 :(得分:4)
你真的不应该在像Xcode这样的产品中看到“内部错误”;你看到的是一个没人想到会发生的错误或情况。根本原因可能是某种格式错误的项目文件:我们可以从堆栈跟踪中看到Xcode正在读取XML文件,并且您说当Xcode打开您的项目时会发生这种情况。
我首先创建一个新的项目文件,然后添加项目中的所有文件。这可能是一个痛苦的问题,但它通常是从项目文件相关问题中恢复的最有效方法。
如果这听起来太多了,你认为你知道问题是什么,你可以尝试手工编辑现有的项目文件。按住Control键并单击项目文件,然后从上下文菜单中选择“显示包内容”以显示项目文件中的文件,这实际上是一组文件。然后在您喜欢的文本编辑器中打开“project.pbxproj”文件,以查看定义项目的XML。不难看出文件的结构,因此您可能会发现问题。
例如,昨晚我不小心将Xcode本身添加为我项目的框架之一。这导致Xcode挂起,我不得不强制退出。更糟糕的是,Xcode尝试打开上次退出时打开的项目,因此再次启动Xcode会导致另一个挂起。 (您可以通过在启动Xcode时按住Shift键来避免这种情况。)我使用TextMate打开项目文件,在链接框架部分找到对Xcode.app的引用,并将其删除。手术很成功,患者完全康复。
答案 1 :(得分:0)
这可能是您的项目文件或Xcode配置文件已损坏的情况。这些都是XML文件,这可以解释为什么堆栈跟踪指示xml解析问题。堆栈跟踪还指示(从IDE前缀)在Xcode尝试将自身组织为集成开发环境时发生错误。
以下是一些选项: