iOS5 情节提要错误:情节提要在 iOS 4.3 及更低版本上不可用

Posted

技术标签:

【中文标题】iOS5 情节提要错误:情节提要在 iOS 4.3 及更低版本上不可用【英文标题】:iOS5 Storyboard error: Storyboards are unavailable on iOS 4.3 and prior 【发布时间】:2011-12-08 13:12:51 【问题描述】:

我使用故事板构建了一个小应用程序,它运行良好。就在最终测试之前,我决定尝试一下它是否可以在 ios 4.3 上运行。我点击项目设置中灰色的5.0,选择了4.3。

应用程序构建失败并显示以下错误消息:

故事板在 iOS 4.3 及更低版本上不可用

iPhone 和 iPad 故事板都告诉我这一点。

当我切换回 iOS5 目标时,我仍然不断从两个故事板中收到这些错误,并且产品无法构建! 我检查了:项目设置中的 iOS 部署目标是 5.0 目标应用部署目标是 5.0 构建设置使用 iOS 5.0 SDK

我还需要做什么才能将我的项目恢复到可构建状态?这是一个全新的错误还是我忘记了什么?

更新:即使在进行了清理之后,我仍然会收到此错误。 我将 Schemes 中的调试器更改为“LLDB”并进行了额外的清理,项目现在构建并编译

【问题讨论】:

作为记录,我已经尝试了每一个建议的解决方案(截至 2012 年 2 月 9 日)。没有工作。嗯... 我有同样的问题,即使是新项目(这太疯狂了)!我在这里尝试了所有方法,没有一个有效。将 Xcode 更新到最新版本 (4.3.1) 也无济于事。 grrrrr ..... 以下答案均不适合我。 3 月 22 日试用..! :( Profileed 申请泄露,然后Runed it =) 无法想象苹果有多愚蠢 【参考方案1】:

我也遇到了这个问题,最后我通过以下步骤解决了这个问题:

    打开 XXXXXX.storyboard 在 Xcode 的右侧视图中打开 Identity and Type 选项卡。 将Document Versioning中Development的值设置为“Xcode 4.2”(我的默认值为“Default Version (Xcode 4.1)”。 将 Deployment 的值从 Project SDK Version (iOS 5.0) 更改为 iOS 5.0,然后再改回 Project SDK Version (iOS 5.0)

重建项目,错误应该得到解决。

【讨论】:

这对我也有用,从 GDB 更改为 LLVM 似乎没有奏效。似乎在 Target->Summary 屏幕上将 Deployment Target 更改为低于 5.0 的版本会将 Storyboard Document Versioning Development (Xcode) 设置回 4.1,但更改回 5.0 不会将 Xcode 版本更改回 4.2。 我还必须在重建之前进行清理 我遇到了同样的问题,但无法通过这种方式纠正。我终于能够通过删除对故事板的引用来纠正它,构建,将其添加回来,然后再次构建。 我希望这对我有用!根据反馈,我觉得应该这样做,但没有骰子,对不起。 :( 有点奇怪,但对我有用的是将故事板文件从 xcode 拖到桌面,清理然后构建 - 我知道这毫无意义。【参考方案2】:

对我有用的解决方案只是为我的项目删除 ~/Library/Developer/Xcode/DerivedData 目录。

【讨论】:

这似乎是最可靠的。当这里没有其他答案时,它对我有用。 这是唯一一个对我有用的方法,我毫不掩饰地否决了那些不起作用的答案。对不起,伙计们……这太令人沮丧了。 这对我有用。奇怪的是,从 Organizer 中删除项目的派生数据不起作用,但从 finder 中删除整个文件夹却可以。 删除 DerivedData 文件夹始终是我尝试的第一件事。但是,这里没有帮助【参考方案3】:

我只是在这里添加这个作为另一个可能的答案,因为第一个解决方案对我有用好几次(正如我在之前的评论中提到的)直到今天我无法让我的项目为爱而编译也没有同样错误的钱。 随着调试器的更改并将 Xcode 设置为 4.2 并重新启动几次,我无法编译。不过,我发现了另一种解决此问题的方法。

选择左列中的情节提要和“在 Finder 中显示”,然后将情节提要拖到桌面上。 Xcode 现在将其颜色更改为红色并且无法编译。

清理项目,将storyboard从桌面拖回finder目录。

然后,它构建并且错误再次消失。

当我在 iOS5 下开发并为 4.3 构建时,我不知道最初是什么触发了该错误,但它似乎不时出现。

【讨论】:

这对我有用,而更改文档版本控制和重新启动/清理不起作用。 uhhhh 我不能感谢你(+1),这拯救了我的一天:-)【参考方案4】:

这似乎是我也遇到过的最新 XCode 中的一个错误,确实尝试了 OP 更改调试器的解决方案,但没有效果。

自从我尝试使用 4.3 的情节提要并尝试改回来后,它突然出现了。

我的解决方案是关闭 XCode,再次打开并清理。然后我编译,它工作正常。

希望这对其他人有所帮助。

【讨论】:

Cmd+Q - 关闭 xCode。常见的“关闭”没有帮助。 我的经历与 FiddleMeRagged 的​​回答类似:这工作了一段时间,目前不起作用(尽管cotton5415 的解决方案也不是)。所以不幸的是,你不能指望它在 100% 的时间内有效,即使它有时有效。 是的!简单的解决方案:重新打开 xCode 和 Clean ,完成! =)【参考方案5】:

虽然其他解决方案对我有所帮助,但它们并非 100% 有效。我对 XCode 了解不多,无法知道这个解决方案有多可靠,但至少它对我有用,所以你可以在你的项目中尝试一下。

在 Xcode 的左侧,打开项目导航器。单击顶部的项目,这是您的项目。在右侧的面板中,您将看到在项目及其目标之间进行选择的选项。单击项目,然后在右侧面板中的“信息”选项卡下,将“命令行构建使用”设置为“调试”(在我遇到错误的两个项目中,都设置为“发布”)。

图片可能是最简单的:

另一个想法:在 Xcode 中打开另一个带有故事板的项目并尝试运行它。如果成功,您可以返回到当前项目并且它应该构建。我认为这清楚地表明了 Xcode 中的错误。

【讨论】:

哇哇哇! “另一个想法”有效!尝试了其他所有方法,但都没有奏效! 是的,另一个项目构建成功,现在旧项目也构建没有错误。谢谢。【参考方案6】:

在尝试了这里的所有答案(删除 Storyboard 参考、退出 Xcode、清理、更改调试器等)后,都没有工作(使用 Xcode 4.5)。

我重建它的唯一方法(完全是猜测)是在文本编辑器中打开 Storyboard 文件并删除以下行:

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

它应该靠近文件顶部的&lt;dependencies&gt; 部分。之后,项目构建成功,Xcode 甚至将该行重新添加到文件中,但是,它仍然构建...

去想...!希望它可以帮助某人!

【讨论】:

删除 条目至少对一个情节提要文件有效。奇怪的是,这修复了另一个与故事板无关的项目中的相同“在 iOS 4.3 中不可用”错误。【参考方案7】:

最后,一个优雅的解决方法似乎对我有用! (我当然希望它适用于其他所有人。这个很固执。)

在 iOS 5 中安全恢复设置后,请尝试 Cmd-Option-Shift K(菜单中的“清理构建文件夹...” - 按住 Option 即可查看) , 然后构建。

【讨论】:

我确实尝试了上述所有方法,但无济于事......直到我遇到了这个解决方案,它非常完美。【参考方案8】:

解决方法很简单, 右键单击您的故事板文件,并在查找器中显示 然后选择文件所在的文件夹(这可能在 en.lproj 文件夹中) 右键单击导致问题的 MainStoryboard.storyboard 文件并使用文本编辑打开 找到这样的行:

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

把它改成这样:

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

保存文件并构建。等等……

【讨论】:

只需从情节提要文件中删除 (如果存在)为我修复了它。【参考方案9】:

好的,我尝试了以上所有方法,但问题仍然存在。所以我只是删除故事板(作为参考而不是移动到垃圾箱)。然后构建成功;之后我再次添加它们;构建,终于成功了。

【讨论】:

我什至无法删除引用,因为一旦我触摸情节提要,Xcode 4.6 就会崩溃【参考方案10】:

我遇到了同样的问题。我尝试了上述所有答案和所有组合,但没有任何效果。后来在做了一些研究之后,我分析了一个简单的事实,即向我抛出的错误是直截了当的。

只需转到构建设置,而不是选择 xcode 项目文件,而是选择产品文件并将部署目标更改为 5.0 或 5.1。错误应该消失。!我在 Lion OSX 的 Xcode 4.3 中做到了这一点。对我来说效果很好!!

【讨论】:

【参考方案11】:

我也有这个问题,没有任何帮助。甚至打开另一个项目并尝试构建也失败了。

我所做的,以及对我来说,将项目 -> 信息并在“部署目标”下将 iOS 部署目标更改为任何内容,构建,然后改回原来的内容并再次构建。

【讨论】:

【参考方案12】:

这是另一个随机的巫毒连枷,似乎可以解决刚才的错误。 (在这里的其他技术没有帮助之后)我重命名了故事板文件(以及 info.plist 文件中的条目)。还没有尝试过“拖到/从桌面”的仪式。

今晚,我在这个问题上浪费了大约 45 分钟。呸呸呸。好的,我现在感觉好多了。

【讨论】:

这对我有用,我通过添加详细步骤来编辑答案。我想知道谁这么聪明地否决了这个建议...... 更正:这对我有用,直到 Xcode 重新破坏了项目。我还不得不重新安装 Xcode...【参考方案13】:

在尝试了上述所有建议后,没有成功,我得到了我的代码来编译执行以下操作。

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

似乎有助于 Xcode 4.3.2

【讨论】:

【参考方案15】:

有类似的问题。 XCode 可以很好地构建和运行其他项目,但无法摆脱我更改的项目的错误,甚至无法从服务器备份。尝试了上述所有解决方案,但nada。这是有效的。

    卸载 XCode。

    删除 user/library/developer/XCode 文件夹。

    重新安装 XCode(也许你应该在搜索文件夹之前启动它,下载花了我 20 分钟)。

    启动、清理和构建。

为我工作。节省了我一些时间。有时当手术刀不起作用时,就该用斧头了。现在我要选择一种新字体来编码(这将清除您的偏好)!

【讨论】:

谢谢,终于在这里解决了。仅针对其他人:如果出现错误消息“ibtool failed with exit code 255”,您可能会发现该问题。【参考方案16】:

唯一对我有用的解决方案是在没有启用 Storyboard 的情况下创建另一个项目,构建它,然后切换回 Storyboard 项目,清理并构建。

【讨论】:

【参考方案17】:

这是另一个随机的巫毒教,如果您的 iPhone 已连接,请断开它。

【讨论】:

【参考方案18】:

我简单地将部署目标从 MainStroyboard 更改为 4.0 和 Development 到 4.3。 我清理项目;并重新启动了 mac,:) 我知道这听起来很有趣,但重新启动 xcode 并没有帮助。也许内存中有缓存...

然后我建立了项目;没关系!

【讨论】:

以上是关于iOS5 情节提要错误:情节提要在 iOS 4.3 及更低版本上不可用的主要内容,如果未能解决你的问题,请参考以下文章

使用 ios5 和情节提要推送带有参数的视图控制器

在 xcode5 中找不到适用于 ios 5 的情节提要 [关闭]

如何在情节提要中使用 UICollectionViewController 同时仍支持 ios 5.1?

iOS 5 在现有应用程序中实现带有情节提要的页面控制器

如何复制包含情节提要的 iOS 5.1 应用程序

在 IOS 6 中使用情节提要以横向模式呈现 modalViewController