iOS5 Storyboard error: Storyboards are unavailable on iOS 4.3 and prior

泪湿孤枕 提交于 2019-12-17 10:18:09

问题


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


回答1:


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.




回答2:


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




回答3:


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.




回答4:


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.




回答5:


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:

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.




回答6:


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!




回答7:


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.




回答8:


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...




回答9:


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.




回答10:


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!!




回答11:


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.




回答12:


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.




回答13:


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

Edit -> Refactor -> Convert to Objective-C ARC



回答14:


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




回答15:


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)!




回答16:


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.




回答17:


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




回答18:


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!



来源:https://stackoverflow.com/questions/7781483/ios5-storyboard-error-storyboards-are-unavailable-on-ios-4-3-and-prior

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!