Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Interface Builder was unable to determine the type of "Main.storyboard". This may be due to a missing SDK

Tags:

xcode

ios

swift

I am getting a strange error whenever I try to view a particular storyboard of a project in Xcode. When I click the storyboard in the file directory I get an alert that reads "Interface Builder was unable to determine the type of "Main.storyboard". This may be due to a missing SDK."

This only happens with this particular storyboard, I tried creating another storyboard and I was able to view it just fine. I tried reverting back to a previous version of the project when I was able to open the storyboard, but oddly enough this doesn't fix the error and I get the same alert. I also tried opening the project in an earlier version of Xcode, but to no avail.

If it provides more context, I get an error for the storyboard I get when I try to build the project that reads "The operation couldn’t be completed. (com.apple.InterfaceBuilder error 2001.)"

Any ideas on what causes this or how to fix it?

like image 711
metalek Avatar asked Jan 08 '16 07:01

metalek


People also ask

Why is Main Storyboard not showing up in Xcode?

You have SwiftUI enabled in your project, which does not use storyboards anymore. Your layout is inside the ContentView. swift file. If you do want to work the old way, with storyboards, you should uncheck 'Use SwiftUI' in the project creation screen.

How do I open the main Storyboard in Xcode?

To get this, open the storyboard, click the 'assistant' editor, click the 'assistant editor menu button' (immediately to the right of the > arrow at the top left of the assistant window) and select Preview.


2 Answers

I had the same exact issue. I would not delete it, instead I used grep to locate the file in my project directory i.e. '$grep -r "Main.storyboard" .'

Once you find it, you can use an editor (vim or perhaps emacs) to view the actual file, since it may either be corrupted, but in my case I was merging in a branch that appended to the file during automerge:

    <<<<<<< HEAD 
    document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10116" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="gHi-tD-tmJ"
    =======
    document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10116" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r"
    >>>>>>> develop

If you happened to have this same issue as I did, just delete either the head or the tail of this - whichever you don't want. If you have issues with resolving conflicts, refer here:

https://githowto.com/resolving_conflicts

or

https://help.github.com/articles/resolving-a-merge-conflict-from-the-command-line/

like image 176
gtree Avatar answered Oct 17 '22 03:10

gtree


This is less complex than you think.

The error is because you mistype something on the source code of Main.storyboard, for example I accidentally put an "ƒ" before the first open tag of Main.storyboard.

1) What you must do is to delete Main.storyboard (select throw to Trash)

2) Go to Trash, move the Main.storyboard to desktop, open with any text editor and fix the code; then "select all" and "copy".

3) On Xcode, create a brand new Main.storyboard and then press Right click on file and select Open As -> Source code, then paste the fixed code that you have on your clipboard.

4) Right-click on file and select Open As -> "Interface Builder - Storyboard".

Hope it works for you.

like image 33
eplazai Avatar answered Oct 17 '22 02:10

eplazai