98
votes

I've built a small app using storyboards and it ran great. Just before final testing I decided to try it out to see if it runs on iOS 4.3. I clicked on the gray 5.0 in the project settings and selected 4.3.

The app failed to build with the following error message:

Storyboards are unavailable on iOS 4.3 and prior

Both the iPhone and iPad storyboards tell me that.

The issue that when I switched back to iOS5 target, I still keep getting these errors from both storyboards, and the product won't build! I checked: iOS Deployment target in projects settings is 5.0 Target app deployment target is 5.0 Build settings uses iOS 5.0 SDK

What else do I need to do to restore my project to a buildable state? Is this a brand new bug or am I forgetting something?

Update: I kept getting this error even after doing a clean. I changed the debugger in Schemes to "LLDB" and did an additional clean, the project now builds and compiles

18
For the record, I have tried every single proposed solution (as of 9 Feb 2012). None work. Hmm ... - Joe D'Andrea
I have the same issue, even with new projects (this is crazy)! I tried all methods here, none worked. Updating Xcode to the latest version (4.3.1) does not help either. grrrrrr..... - Luzifer42
None of the answers below worked for me. Tried on March 22..! :( - jeevangs
I Profileed the application for leaks and then Runed it =) - tGilani
can't imagine how stupid apple is - neobie

18 Answers

111
votes

I also got this problem and finally I solved this by following procedure:

  1. Open XXXXXX.storyboard
  2. Open Identity and Type tab in your right view of Xcode.
  3. Set the value of Development in Document Versioning to "Xcode 4.2" (my default value is "Default Version (Xcode 4.1)".
  4. Change the value of Deployment from Project SDK Version (iOS 5.0) to iOS 5.0, then back to Project SDK Version (iOS 5.0)

Rebuild the project and the error should be resolved.

20
votes

The solution that worked for me was just to delete the ~/Library/Developer/Xcode/DerivedData directory for my project.

17
votes

I'm just going to add this one as another possible answer here, as the first solutions worked for me several times (as I mentioned in my previous comment) until today when I couldn't get my project to compile for love nor money with the same error. With the debugger changed and Xcode set to 4.2 and restarting several times I could not compile. However I discovered another way to get around this issue.

Select the storyboard in the left column and 'Show in Finder' and drag the storyboard to the desktop. Xcode will now change its colour to red and be unable to compile.

Clean the project, drag the storyboard back from the desktop to the directory in finder.

Then, it builds and the error goes away again.

I don't know what triggered the error originally as I'm developing under iOS5 and building for 4.3, but it seems to come up from time to time and.

14
votes

This seems to be a bug in the latest XCode that I've also run into too, did try the OP's solution of changing debugger and that had no effect.

It cropped up for me since I tried storyboard with 4.3 and then tried to change back.

My solution was to close XCode, open it again and clean. Then I compiled and it worked fine.

Hope this helps others.

11
votes

While other solutions helped me, they didn't work 100% of the time. I don't know enough about XCode to know how reliable this solution is, but at least it worked for me so you can try it in your project.

In the left hand side of Xcode, open the project navigator. Click the top item, which is your project. In the panel immediately to the right, you'll see a choice to choose between your project and its targets. Click the project, and then in the panel to the right, under the "Info" tab, set "Command-line builds use" to Debug (in my two projects where I was having the error, both were set to Release).

A picture is probably easiest:

Picture from Xcode

Another idea: Open another project with storyboards in Xcode and try to run that. If it succeeds, you can come back to the current project and it should build. I think this clearly indicates a bug in Xcode.

7
votes

After trying all the answers in here (removing the Storyboard reference, quitting Xcode, cleaning, changing debugger, etc.), none worked (with Xcode 4.5).

The only way I got it to rebuild (and it was a total guess) was to open the Storyboard file in a text editor and delete the following line:

<deployment version="1280" identifier="iOS"/>

It should be near the top of the file, in the <dependencies> section. After that, the project was built successfully and Xcode even re-added that line to the file, but, it still builds...

Go figure...! Hopefully it can help someone!

6
votes

At last, an elegant workaround that seems to do the trick for me! (I sure hope it works for everyone else. This one's stubborn.)

Once your settings are back safely in iOS 5-land, try Cmd-Option-Shift K (aka "Clean Build Folder..." from the menu - hold down Option to see it), then build.

5
votes

the solution is simple, right click your storyboard file, and show in finder then select the folder where the file is (this would probably be in the en.lproj folder) right click on the MainStoryboard.storyboard file causing the problem and open with text edit find the line that reads or something like this:

<development version="4300" defaultVersion="4200" identifier="xcode"/>

and change it to something like this:

<development defaultVersion="4300" identifier="xcode"/>

save the file and build. Et voila...

4
votes

Ok, I tried everything above and problem still occurred. So I just remove storyboards (as reference not move to trash). then build successfully; after that I added them again; Build, And finally worked.

3
votes

I was having the same problem. I tried all the above answers and all combinations and nothing worked. Then later after doing some research, I analysed that the simple fact that the error that was throwing at me was straight forward.

Just go to the Build settings and instead of selecting the xcode project file, select the product file and change the Deployment target to 5.0 or 5.1. The error should go off.! I did this in Xcode 4.3 in Lion OSX. It worked fine for me!!

3
votes

I also had this problem, and nothing helped. Even opening another project and trying to build failed.

What I did, and what for me, was going to project -> info and under "Deployment Target" change iOS Deployment Target to whatever, build and than change back to whatever it was and build again.

2
votes

Here is yet another random, voodoo, flail that seemed to workaround the bug just now. (after other techniques here had not helped) I renamed the storyboard file (and the entry for it in the info.plist file). Haven't tried the "drag to/from desktop" ritual yet.

Tonight, I have lost like 45 minutes to this issue. grrrrr. Ok I feel better now.

1
votes

After trying all the suggestions above, without success, I got my code to compile doing the following.

Edit -> Refactor -> Convert to Objective-C ARC
1
votes
rm -rf $HOME/Library/Application Support/Developer/Shared/Xcode
rm -rf $HOME/Library/Preferences/com.apple.dt.Xcode.*
rm -rf $HOME/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState
rm -rf $HOME/Library/Developer/Xcode

seems to help with Xcode 4.3.2

1
votes

Had similar issue. XCode would build and run other projects fine but couldn't get rid of the error on project I had changed, not even backups from server. Tried all the above solutions but nada. Here is what worked.

  1. Uninstall XCode.

  2. Delete user/library/developer/XCode folder.

  3. Reinstall XCode (maybe you should start this before searching for the folder, download took me 20 minutes).

  4. Start up, clean and build.

Worked for me. Saved me some time. Sometimes when the scalpel doesn't work it's time for the hatchet. Now I get to pick a new font to code in (this will clear your preferences)!

-1
votes

The only solution that has worked for me is to create another project without Storyboarding enabled, build it, then switch back to the storyboard project, clean and build.

-1
votes

Here is yet another random, voodoo, disconnect your iPhone if it is connected.

-2
votes

I simple changed deployment target to 4.0 and Development to 4.3 from MainStroyboard. I clean the project; and restarted the mac, :) i know it sounds funny but restarting xcode didn't helped. maybe there is a cache in memory...

Then i built the project ; it was ok!