2016-10-03 63 views
23

我最近升級到Xcode 8並將我的項目更新爲Swift 3.所有工作都很好。故事板加載一直很緩慢(即使仍在運行Xcode 7),並且與Xcode 8的速度差不多。我一直認爲這是因爲我在較舊的(2011年末)Macbook Pro上。Xcode 8在打開故事板時掛起/無響應

但是最近有時Xcode會在我試圖打開故事板時掛起。從昨天開始,它總是「懸掛」。 Xcode變得沒有反應,我必須強制退出它。

在活動監視器中,我看到Xcode使用了102%的CPU和內存使用情況,並持續增長(如果我放過了10GB以上)。

現在我真的陷入了困境,因爲當我打開Xcode時,它立即打開我的項目並打開故事板。我甚至無法更改爲快速文件。我沒有得到我選擇我的項目的窗口了。所以,如果Xcode沒有響應,就不能再打開我的項目了。即使當我雙擊另一個項目來打開Xcode時,它仍會嘗試打開我的項目(在故事板上)。

我已經嘗試了一些事情(基於SO線程我能找到類似的問題與舊版本的Xcode):

  • 刪除Xcode和刪除〜/資源庫/開發人員的內容。然後重新安裝Xcode。
  • VAR /文件夾刪除內容
  • 導出數據文件夾刪除內容
  • 重新啓動的Macbook

我的下一次嘗試將是下載的Xcode 8.1測試版。但真的不這樣做。

任何其他建議,我可以嘗試的東西?

小型更新: 管理清除Xcode默認打開我的項目的'狀態',並在故事板上打開它。這是否通過:

  • 卸下〜/庫/保存應用程序狀態/ com.apple.dt.Xcode.savedState文件夾(這將再次顯示近期項目窗口啓動時)
  • 爲了還可以防止項目從打開時加載特定文件開始,我去了.xcworkspace(在我的項目文件夾中)的內容,然後刪除了/xcuserdata/myusername.xcuserdatad/UserInterfaceState.xcuserstate。現在該項目沒有選擇任何文件打開。

仍......主要問題依然存在。當我點擊我的故事板時,Xcode變得沒有反應。

+1

升級的MacBook的RAM;) – pkc456

+0

@ pkc456。好的提示。謝謝;)升級與SSD和16GB的RAM的MacBook。我確定它是緩慢的,但反應遲鈍也不行:)等待新的MacBook與不同的項目時抵達:) – guido

+0

是否掛?如果您使用不同的帳戶,它仍然是一個問題? –

回答

12

以我的經驗,一個老項目,開放與XCode8,迫切想要問你默認設備,查看故事板的一些問題。這個問題非常關鍵,除非你回答它,否則你會看到一個不可見的對話窗口,直到XCode無響應。

一對夫婦的解決方案,爲我工作:

  1. 如果你開始的XCode時得到響應的1.5秒的窗口 - 立即切換到非故事板文件。如果在輔助面板中使用分隔窗格編輯器和故事板,請將其關閉。
  2. 創建另一個故事板,打開它,XCode會問你關於默認設備的問題。
  3. 回答這個問題,保存項目狀態,並希望打開故事板

刪除這些功能讓我可以重新打開故事板

<capability name="Aspect ratio constraints" minToolsVersion="5.1"/> 
    <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/> 
    <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 
</dependencies> 
+0

感謝您的幫助。 刪除下列能力解決我的問題 <功能名稱= minToolsVersion =「8.0」,「保存在Xcode 8格式的文件」 /> –

+1

非常感謝你!所有的其他推薦的建議並沒有爲我工作(我沒有模擬設定爲不透明的指標),但只除去<能力NAME =「保存在Xcode 8格式的文檔」 minToolsVersion =「8.0」 />的能力讓我再次打開IB並完全響應。謝謝!!! – pricetag

1

使用Xcode 8.1測試版。猜猜它是在Xcode 8

+0

不適用於Xcode 8.2.1。猜猜它仍然是一個錯誤。 –

3

我怎麼解決這個情節串連圖板懸掛問題上的錯誤:

  1. 備份問題的故事板文件。
  2. 在項目中刪除它。
  3. 使用與刪除的名稱和位置相同的名稱和位置創建新的故事板。
  4. 用文本編輯器編輯2個故事板。
  5. </dependencies>標記之後的xml數據從舊標記複製到新標記。
11

我有一個類似的問題:Interface Builder速度很慢,幾乎完全沒有響應。

我發現清除我的xcuserdata目錄後,IB恢復到正常速度。

據推測,一些壞的國家已經趁火打劫,導致經濟放緩。

rm -rf Project.xcodeproj/xcuserdata/ 
rm -rf Project.xcworkspace/xcuserdata/ 
+0

謝謝。它爲我工作。 – atulkhatri

0

這是我做什麼,切麻煩的viewcontroller,粘貼在一個新的臨時項目的故事板,然後粘貼回視控制器。爲我工作得很好。

隨着故事板的發展,xcode使viewcontroller的元素的歷史軌跡變得混亂,從而導致凍結。

46

我在Xcode 8.1中遇到了同一個問題。

將「頂欄」和/或「底欄」設置爲除「推測」之外的任何內容都會導致Xcode放慢抓取速度。將其更改爲「推斷」會使性能恢復正常,不利之處在於它會刪除預覽中的小節。

Incorrect settings

Correct settings

+7

你光榮的個人。由於Xcode和一個.xib,我的CPU運行了大約150%。這可以立即修復它。當我升級到Xcode 8.2時,它仍然是一個問題。 –

+0

我有同樣的問題,當更改爲「推斷」頂部欄時,它會帶來性能回升。謝謝你幫忙處理一些情況,但這是另一種解決方案,應該是什麼確切的解決方案? – vnaren001

+1

即使只是設置推薦的頂部欄固定對我來說! – jhhl

0

直到蘋果修復IB,在違規的.xib的第一個XML線(<document>標籤):

useTraitCollections="NO" 
3

我終於想通了一個解決方法,總部設在大部分是對這個問題的回答。它最終歸結爲一個盯着工作故事板的XML的比較,但這裏是我採取的步驟的總結。

  • 重新安裝的Xcode 8.2.1和重啓

  • 刪除配置,狀態和數據文件

    rm -rf ~/Library/Developer/* 
    rm -rf ~/Library/Caches/com.apple.dt.Xcode/* 
    rm -rf ~/Library/Developer/Xcode/DerivedData/* 
    rm -rf ApplicationName.xcodeproj/xcuserdata/ 
    rm -rf ApplicationName.xcworkspace/xcuserdata/ 
    rm -rf ~/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState/ 
    
  • 修復自動佈局問題

  • 取下情節串連圖板XML所有依賴除:

    <dependencies> 
        <deployment identifier="iOS"/> 
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/> 
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 
    </dependencies> 
    
  • 檢查所有的故事板和廈門國際銀行文件,確保所有「頂酒吧」和「底欄」設置爲「推斷」

的最後兩個項目似乎是最重要的。

1

我剛剛升級到8.3的Xcode這個故事板掛問題來了......我已經試過所有上面提到的,他們沒有工作。

最後我注意到有一些自動佈局警告,說導航控制器場景的導航欄大小之一是不正確的。它堅持認爲它的寬度應該是320,而選擇的設備是iPhone 7.我切換回Xcode 8.2.1(8.3太慢而無法改變任何東西!),然後將觀看設備更改爲iPhone SE ......所有固定!

0

刪除 /用戶/ {用戶名}你得到的數據/資料庫/開發商/ Xcode中/ DerivedData

(你可以從確切路徑) 文件 - >項目設置: 或 文件 - >工作區設置

0

我已經多次有這個問題。通常,Bonan的解決方案適用於我。在兩次沒有發現的情況下,這個問題似乎與我正在使用的工具欄有關。當我隔離有問題的工具欄時,通過平移到故事板上的某個地方,工具欄的視圖控制器不再顯示在屏幕上,立即故事板加速備份。然後,我又回到壞視圖控制器,並在系統再次減速之前刪除工具欄。我相信有一種方法可以修復工具欄而不是刪除它,但我不知道那是什麼。如上面Luke Van In所描述的,我將Simulated Metrics值設置爲'推斷',所以它肯定是一個不同的問題。

1

我有這個問題升級到Xcode中9,任何時候我在故事板改變任何東西(甚至通過移動1個像素視圖)後不久,就與死亡的旋轉的皮球至少10秒掛起。

我不想清除我的整個xcuserdata文件夾並丟失所有的斷點等,但只是刪除UserInterfaceState.xcuserstate並重新啓動Xcode爲我工作。

0

(Xcode的9.2)我有這種情況發生後的權利我加了約束至stackview。不管我做了什麼,它似乎都沒有解決它。我知道它必須是一個它無法解決的自動佈局問題。

我結束了打開Main.storyboard文件中的文本編輯器並刪除這是導致該問題的情景。它將以

<!—YourViewControllerName—> 
    <scene sceneID=「XXX-XXX-XXX」> 

並以</scene>結束。只需突出顯示整個區塊,刪除,保存並重試。

很多不是從頭開始過的更好!

0

我使用的Xcode 9.2同樣的問題,通過去除包裹其他視圖堆棧視圖固定它,我只是刪除了stackview及其子視圖的標籤,並保存在場景中的其他意見。