94

I downloaded Xcode beta and opened my existing project to see how it works with Xcode 8 beta (I opened Storyboard file from Xcode 8).

Now when I open my project from Xcode 7.3 I am not able to open storyboard file , it gives me following error

This version does not support documents saved in the Xcode 8 format. Open this document with Xcode 8.0 or later.

Xcode 7 error What should I do to revert back, as I want to continue working on Xcode 7.

In Xcode 8 I was prompted to select device and I selected iPhone 6S, I think that part is somehow responsible for storyboard file not opening in Xcode 7

Community
  • 1
  • 1
Bhumit Mehta
  • 16,278
  • 11
  • 50
  • 64

9 Answers9

213

I have figured it out:

Open your Storyboard in Xcode 8.

Click on the File Inspector.

In Interface Builder Document section, select Opens In "Xcode 7.x" instead of "Latest Xcode (8.0)", as in following screenshot:

enter image description here

On doing this, you will get an alert saying "Saving for Xcode 7.x will close your document and data for Xcode 8.0 features will be removed."

Click Save and Close and you will be able to open storyboard in Xode 7.x.

Elijah
  • 8,381
  • 2
  • 55
  • 49
Bhumit Mehta
  • 16,278
  • 11
  • 50
  • 64
  • I had trouble getting the change to stick but what I did was change it, then save and close, at which point it didn't actually save because was still grey, then I quite Xcode (which hung) then force quit it, and now the storyboard is working in Xcode 7 phew! – malhal Jun 22 '16 at 13:09
  • @Bhumit Mehta It's not working when I have 2 different storyboards for ipad and iphone. Changes are saved only for one of them. Plz tell me any workaround. – mars Jun 23 '16 at 09:46
  • @mars : You just need to repeat the same steps for both storyboards, I tried it in a test project and it worked. – Bhumit Mehta Jun 23 '16 at 09:55
  • @Bhumit Mehta Thnx 4 ur quick reply. When i make the above changes for ipad it saves them. But on repeating these steps for iphone it saves them too but ipad again shows up Latest Xcode(8.0). – mars Jun 23 '16 at 10:17
  • this worked perfectly!!! Thanks! Since I had made changes to 2 storyboards, I had to reopen the project and do the change on both and do save and close and then open in xcode 7. – sudoExclaimationExclaimation Jun 25 '16 at 07:17
  • 2
    where is Interface Builder Document? – natecraft1 Sep 01 '16 at 19:04
  • 10
    BUT if you again will open a project in xCode 8 and go into a storyboard - you will have the storyboard file messed again and You will have to switch back to the 7.x again - and "Save and Cose" again – Massmaker Sep 08 '16 at 11:16
  • @natecraft1 You can find Interface Builder Document in File Inspector of storyboard. – Bhumit Mehta Sep 13 '16 at 06:36
  • This procedure and others listed here as highly accepted answers (e.g. changing or removing the compatibility tag) may have worked in beta versions of xcode 8, but none of them are working for me in version 8.0. The only way to fix was to revert to a version prior to opening in xcode 8 (as Wain pointed out initially). – huwiler Sep 19 '16 at 13:57
67

I have a solution:

  1. Open storyboard as "source Code" (right click on storyboard -> open as -> source code).
  2. Delete this row:

<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  1. Delete this for all storyboards which you are using.
  2. Run app.
Laurel
  • 5,965
  • 14
  • 31
  • 57
Himanshu
  • 740
  • 5
  • 6
27

It's work for me

Right,click on main.stoaryboard.Go to open as -> source code and change dependencies

change

 <capability name="documents saved in the Xcode 8 format"
     minToolsVersion="8.0"/>  to

   <capability name="documents saved in the Xcode 7 format"
     minToolsVersion="7.0"/>

Follow the same step on launchscreen.stoaryboard

Preeti
  • 271
  • 3
  • 4
  • 2
    This is so far the best solution, in case you dont have Xcode 8.0 – Kampai Feb 01 '17 at 17:12
  • 2
    Thanks for the solution. Same issue occurred after shifting from Xcode 9 to Xcode 8. I changed "" to . After this change when you will open storyboard in Interface builder this line will be removed. – Amit Aug 14 '17 at 18:54
10

Same issue occurred after shifting from Xcode 9 to Xcode 8. I opened the storyboard in source code and changed

"<capability name="Safe area layout guides" minToolsVersion="9.0"/>" 
to <capability name="Safe area layout guides" minToolsVersion="8.0"/>

After this change when you will open storyboard in Interface builder this line will be removed.

Amit
  • 4,837
  • 5
  • 31
  • 46
  • thnks you saved me some hours of work, xcode alert me that some strange thing were found and repaired so my file will be fine after this modification? – Siempay Sep 26 '17 at 11:07
7

I met this question too. I followed this method to change it: because I couldn't click the menu to choose 7.0 or later, I opened the main.storyboard and launchscreen.storyboard with source code, than I changed it's version manually and this solved the issue.

ddb
  • 2,423
  • 7
  • 28
  • 38
4

Since XCode 8 constantly keeps converting storyboard files to XCode 8 format every time I open it (it's an old project, and everything gets messed up), I ended up downloading XCode 7 and using it just to edit storyboard files (and close it before i switch back to XCode 8). If I accidentally open storyboard file in 8, I just reset that file to the last commit, since the project is on GIT.

Stupid, I know, but it works.

Dimmy3
  • 926
  • 2
  • 13
  • 25
3
<dependencies>
    <deployment identifier="iOS"/>
    <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9049"/>
    <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
</dependencies>

Replace your dependencies to this dependencies

Jason
  • 151
  • 1
  • 13
0

Open storyboard as Source Code and search for minToolsVersion key. Set that value as 7.0 and open that storyboard in Xcode 7.x

0

As @Bhumit_Metha given straight forward solution. Unfortunately, in my case I don't have MAC with latest Xcode (8.0+) version make those changes to support new 'xib' files in my old xcode (7.x).

So I ended up with a working solution with simple steps as follows :

[1] Create a empty xib file in your xcode 7.x.

[2] Right click on the empty xib to view source and copy all of that.

[3] Now open new xib (one with version error) in source viewer. Paste previous code on top.

[4] Replace all the lines of old with new inside tag : <objects> ...... </objects>

And that's all. Will work with compatible to xcode 7.x!

Tip : While opening next time in new xcode, make sure to select compatibility mode.

byJeevan
  • 3,728
  • 3
  • 37
  • 60