Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 8 hangs / unresponsive when opening storyboard

I've recently upgraded to Xcode 8 and updated my project to Swift 3. All worked fine for a little while. Storyboard loading has always been slow (even when still running Xcode 7) and was about the same 'slow' with Xcode 8. I always imagined this is because I'm on a older (late 2011) Macbook Pro.

But recently sometimes Xcode would just hang when I tried to open the storyboard. And since yesterday it's ALWAYS 'hanging'. Xcode becomes unresponsive and I have to Force Quit it.

In Activity Monitor I see Xcode using 102% CPU and Memory usage just keeps on growing (over 10GB if I let it).

Now I'm really stuck because when I open Xcode it immediately opens my project and wants to open the storyboard. I can't even change to a swift file. I'm not getting the window where I choose my project anymore. So, can't open my project anymore without Xcode turning unresponsive. Even when I double click another project to open Xcode it still tries to open my project (on the storyboard).

I've tried a number of things (based on SO threads I could find on similar problems with older versions of Xcode):

  • Removed Xcode and removed contents of ˜/Library/Developer. Then reinstalled Xcode.
  • Removed contents of var/folders
  • Removed contents of derived data folder
  • Restart Macbook

My next try is going to be to download the Xcode 8.1 beta. But really rather not do that.

Any other suggestions on things I could try?

SMALL UPDATE: Managed to clear the 'state' of Xcode where it opens my project by default and also opens it on the storyboard. Did this by:

  • Removing the ~/Library/Saved Application State/com.apple.dt.Xcode.savedState folder (this will show the recent project window again on startup)
  • To also prevent the project from loading a specific file upon opening I went to the contents of .xcworkspace (in my project folder) and then removed /xcuserdata/myusername.xcuserdatad/UserInterfaceState.xcuserstate. Now the project opened without any file selected.

Still... the main problem remains. When I click on my storyboard Xcode becomes unresponsive.

like image 805
guido Avatar asked Oct 03 '16 17:10

guido


2 Answers

I came across the same problem with one nib in Xcode 8.1.

Having "Top Bar" and/or "Bottom Bar" set to anything but "Inferred" caused Xcode to slow down to a crawl. Changing this to "Inferred" brings performance back to normal, with the downside that it removes the bars in the preview.

Incorrect settings

Correct settings

like image 181
Luke Van In Avatar answered Oct 15 '22 11:10

Luke Van In


In my experience, for an old project, opening with XCode8, it urgently wants to ask you some question about default device to view storyboard with. This question is so critical that until you answer it, you are staring at an invisible dialog window until XCode becomes unresponsive.

A couple solutions worked for me:

  1. If you get a 1.5 second window of responsiveness when starting XCode - immediately switch to a non-storyboard file. If working with a split pane editor with the storyboard in auxilary panel, toggle it off.
  2. Create another storyboard, open it, XCode will ask you the question about default device.
  3. Answer the question, save the project state and hope to open the storyboard

Deleting these capabilities allowed me to re-open the storyboard

    <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> 
like image 28
Alex Stone Avatar answered Oct 15 '22 12:10

Alex Stone