2014-09-11 103 views
16

我剛下載了XCode 6 GM,每次選擇主故事板(以及特定的xib),XCode都會崩潰。XCode 6 GM在選擇主故事板或xib時崩潰

錯誤被髮送到蘋果中含有下列信息中 /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-6238/InterfaceBuilder/Documents/IBCocoaTouchPlatform.m:531 詳細

斷言失敗:返回的狀態計算結果是不是 IBMarshallingResult,它是{

任何遇到同樣問題的人?

+2

同樣的問題在這裏!非常令人沮喪! – mikemike396 2014-09-11 19:12:10

+1

它是否崩潰或無響應?我正在經歷後者。 – Brandon 2014-09-11 19:13:05

+1

@BrandonRoth延長無響應導致XCode幾乎每次崩潰 – abinop 2014-09-11 19:20:32

回答

0

來自Xcode的早期版本,還是來自較早的Xcode 6版本之一?如果是後者,那麼解決方案將是重新創建它。

您可以查看故事板文件並查看它是否是有效的文檔 - 該文件是基於XML的,因此您應該能夠查看是否存在由合併衝突導致的缺失元素或問題, 例如。您也可以嘗試刪除特定的屏幕,以查看是否可以解決您的問題 - 可能問題與某個特定屏幕有關。

我也建議檢查你的對象是否實現了IBDesignable屬性,如果你在故事板中使用了它,如果是這樣,NSCoder可能無法從文件中恢復對象。

3

(1)您是否清理並重建了該項目?

(2)您是否嘗試清空xcuserdata文件夾?該文件夾包含ui狀態,可能是此類問題的原因,特別是在更新xcode時。右鍵單擊.xcodeproj「文件」並選擇「顯示包內容」時,可以在項目目錄中找到xcuserdata文件夾。關閉Xcode,清空xcuserdata文件夾並重新打開.xcodeproj文件。

希望這些人幫助:)

+0

在這裏發現另一個問題原因:http://stackoverflow.com/questions/9109571/xcode-wont-compile-ios-apps-crashes-when-xib-or-storyboard-files-are-opened?rq=1如果你使用TotalFinder,這可能是問題。 – Eike 2014-09-17 12:46:28

+0

刪除.xcuserdata文件夾適用於我 - 僅在觀看故事板時纔會遇到此崩潰問題;不是xib。 – 2014-09-29 15:45:10

+0

清洗xcuserdata似乎長期爲我工作。自從我更改我的iOS應用程序的名稱後,經常會發生此問題。 – 2014-12-06 18:44:29

23

我聽說它可以是一個自動版式的問題,所以我試圖手動禁用它和它的工作!

如果你右鍵單擊故事板文件,打開源代碼,並刪除useAutolayout =「YES」,然後清理,重建,你應該可以打開沒有問題。

+0

這實際上在6.0.1版本上爲我工作,謝謝! – MiMo 2014-09-24 00:18:49

+0

這對我很有用,謝謝@Edgar Rocha Carvalho。 – Manolo 2014-09-28 20:02:22

+0

實際上應該刪除的確切的一個是useAutolayout =「YES」:) – tong 2014-10-16 10:31:54

1

如果人們使用多個標籤,可能是一個問題。我的XCode 6.0.1變得沒有反應,每當同一個故事板打開多個選項卡...

0

我一直在從Xcode 5升級到6.0.1後摔跤相同的問題。試圖加載我的龐大而複雜的iPad故事板會凍結Xcode,調出死亡風車,最終崩潰。有時它也會在編譯時顯示錯誤,並提及丟失的OID。

我最終回到了Git中的Storyboard文件(通過命令行,因爲Xcode不會讓我得到那麼多),一直回到第一個直接從模板版本。我清理了該項目並重建了它,故事板正確加載。

然後,我及時地承諾提交,清理和建設每一次。我預計我會得到一個事情再次爆發 - 但我沒有任何凍結一直到最近的提交。

當我試着跳了幾個星期,但我得到了凍結和崩潰。

我不知道6.0.1中的新Storyboard編輯器是否需要以更簡單的步驟構建其內部表示(和緩存?),而不是完整複雜文件的巨大飛躍。

對於我來說,這個回滾/前滾/重建過程花了大約45分鐘,但這比我重建這個故事板花費的時間要少很多。希望這可以幫助你。

0

一個解決方案是打開XCode 5中的xib,讓它改變一堆設置。然後在Xcode 6中打開。

16

這給我帶來了很多麻煩,重新創建故事板不是一種選擇。我過去是通過對故事板CTRL /右鍵單擊並做

「打開爲」>「源代碼」

然後我做了一個小的變化,解開它,並重新保存的文件。然後我做了

「打開爲」> 「Interface Builder的 - 故事板」

它開始沒有崩潰的XCode。

+3

這很美!這應該是被接受的答案! – Ravi 2014-11-03 08:24:55

+0

@Ravi同意。 +1 – Houssni 2014-11-04 09:12:27

+0

它也適用於我,但我必須定期做它打開我的主要故事板使XC崩潰。所以這個答案對我來說不是一個長期的修正: -/ – 2014-12-06 17:39:21

0

我剛剛經歷過同樣的事情。事實證明,由於git合併,在故事板中是重複的UILabel。顯然,如果兩個UI元素具有相同的內部ID,Xcode將會崩潰。

與安德魯 - 伯克的方法有些相似,我找到負責任的問題的方法涉及通過git來追蹤問題的變化。步驟:

  • 迭代地退後一步通過git歷史記錄,檢查每個提交,直到找到第一個不會使Xcode崩潰的故事板。
  • 一旦你已經開始崩潰的提交,請檢查HEAD並迭代恢復問題提交中的故事板更改。繼續縮小它,直到您有一個UI元素或一行會導致崩潰。
  • 永久還原負責任的更改並重新啓動Xcode。再次打開故事板,您可能會被警告內部不一致。同意Xcode提出的修改建議,但請檢查它們。
  • 如有必要,您現在可以嘗試重新創建UI元素或從頭開始更改導致此問題的原因。
8

要解決此問題:

  1. 打開Finder窗口,並導航到你的計劃
  2. 單擊鼠標右鍵。xcodeproj文件(它實際上是一個包)
  3. 選擇顯示包內容
  4. 一個新的窗口出現
  5. 刪除一個名爲xcuserdata

文件夾如何避免這種情況在未來: 一次加入的.gitignore ,你必須發出以下命令:

git rm --cached ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/yourUserName.xcuserdatad/UserInterfaceState.xcuserstate 

git commit -m "Removing file thats driving me insane" 
+0

您節省了我的時間,謝謝! – Niralp 2015-03-08 17:13:58

+0

非常感謝。 – 2017-11-21 06:39:58

0

當我一拖再拖Main.storyboard一個按鈕來創建一個我的Xcode墜毀。

我發現它是由構建設置項 - [Objective-C自動引用計數]引起的。

如果設置爲「否」,Xcode將在創建IBOutlet時崩潰。

OS X Version: Yosemite 10.10.1 

Xcode Version: 6.1.1 (6A2008a) 

希望這會有所幫助。

0

什麼爲我工作,仍然使用自動版式

  1. 打開故事板作爲源代碼
  2. 編輯useAutolayout = 「YES」 到useAutolayout = 「NO」
  3. 關閉源代碼
  4. 以界面生成器打開故事板 - 故事板
  5. 這是最重要的一步:在文件檢查器V (左側窗格)檢查「使用AutoLayout」

完成。

0

在Mac OS X 10.11.1上的Xcode 7.1通過右鍵單擊xcode圖標而崩潰並打開相同的項目,導致它再次崩潰。然後,我右鍵單擊xcode圖標並從最近列表中打開一些其他項目,然後打開從xcode菜單最近項目崩潰的同一項目,但未崩潰。

0

我就遇到了這個上了XCode 8,我能

  • 保存的Git分支我的腐敗故事板的變化。
  • 切換到 不同的分支還原到舊提交之前的故事板得到 損壞
  • 故事板視圖文件中的XCode
  • 切換到備份與 腐敗故事板分支,同時還觀看了XCode沒有崩潰 故事板文件