2012-04-20 104 views
3

當我試圖打開我的項目時,出現「內部錯誤」消息。你有什麼想法發生了什麼?xcode生成內部錯誤消息

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 

回答

4

你真的不應該看不到像Xcode中產品的「內部錯誤」;你會看到一個無人認爲會發生的錯誤或情況。根本原因可能是某種格式錯誤的項目文件:我們可以從堆棧跟蹤中看到Xcode正在讀取XML文件,並且您說Xcode打開項目時會發生這種情況。

我會先創建一個新的項目文件,然後添加項目中的所有文件。這可能是一個痛苦的脖子,但它通常是恢復項目文件相關問題的最有效方法。

如果這聽起來像是太多的工作,並且您認爲您知道問題所在,那麼您可以嘗試手動編輯現有的項目文件。按住Control鍵並點擊項目文件,然後從上下文菜單中選擇「顯示軟件包內容」以顯示項目文件內的文件,這實際上是一組文件。然後在您最喜歡的文本編輯器中打開「project.pbxproj」文件以查看定義該項目的XML。不難看出文件的結構,因此您可能會發現問題。

例如,昨晚我不小心將Xcode本身添加爲我的項目框架之一。這導致Xcode掛起,我不得不強制退出。更糟糕的是,Xcode嘗試打開上次退出時打開的項目,因此再次啓動Xcode導致另一個掛起。 (你可以通過在啓動Xcode時按住Shift鍵來避免這種情況。)我用TextMate打開項目文件,在鏈接框架部分找到對Xcode.app的引用,並刪除它們。手術取得成功,病人完全康復。

0

這可能是您的項目文件或Xcode配置文件已損壞的情況。這些都是XML文件,這將解釋爲什麼你的堆棧跟蹤表明XML解析問題。堆棧跟蹤還指出(從IDE前綴),當Xcode試圖將自身組織爲集成開發環境時發生錯誤。

這裏有幾個選項:

  1. 嘗試打開或在Xcode中創建另一個項目。如果你能夠做到這一點,然後再次嘗試在Xcode中打開現有的項目。
  2. 嘗試在另一臺Xcode上安裝另一臺計算機或其他Xcode版本的計算機。如果項目在另一次安裝中打開,請重新安裝Xcode。
  3. 創建一個新項目。一次只能複製所有的h,m和資源文件。重新設置該項目。
  4. 您可以隨時嘗試通過在文本編輯器中打開項目文件來查找某些格式錯誤的xml。 (沒有太多樂趣)