对 iOS 5.0 和 iOS 6.0 使用 XCode 4.5 的困惑

Posted

技术标签:

【中文标题】对 iOS 5.0 和 iOS 6.0 使用 XCode 4.5 的困惑【英文标题】:Confusion using XCode 4.5 for iOS 5.0 and iOS 6.0 【发布时间】:2012-10-04 15:06:32 【问题描述】:

我很困惑 ios 5.0 和带有 XCode 4.5 的 iOS 6.0。如果我想在 iOS 5.0 及更高版本上支持我的新应用程序,我还不清楚我应该使用哪些功能,哪些不应该使用。基本上,Xcode 4.5 为您提供了所有功能,例如故事板中的 Container Views 和 Unwind Segues(...以及更多我可能不知道的功能),这些功能仅在 iOS 6.0 中可用,直到您运行您的应用程序并崩溃后您才会知道!任何人都可以让我知道任何简单的解决方案吗?我必须恢复到 Xcode 4.4 吗?我将部署目标设置为 iOS 5.0,但我无法将 Base SDK 设置为 iOS 5.0,因为它没有出现在列表中。见附图。谢谢。

【问题讨论】:

【参考方案1】:

如果您仍想支持 5.0 或 5.1,您可能需要进入 Xcode Preferences -> 下载并安装 iOS 5.0 或 5.1 模拟器。

【讨论】:

我已经下载了模拟器,并将架构设置为仅 armv7。我仍然无法设置基本 SDK!基本上我想使用 XCode 4.5,但不想看到仅在 iOS 5.0 上中断的 iOS 6.0 功能! 嗯,我不确定。当我使用 iOS 5.1 模拟器或 iOS 5.1 设备运行我的代码时,它的运行方式类似于 iOS 5.x,而不是 iOS 6。我现在知道这一点的原因是,当我尝试在 iOS 6.0 中运行我的应用程序时,我使用 QuickLook 时遇到一些奇怪的错误,我仍在尝试找出......但它在 5.1 中运行良好,就像以前一样。全部在 Xcode 4.5 中。 您在“摘要”选项卡中设置的部署目标是什么?我的还是说 5.1 是的,如果您不使用 iOS 5 不支持的任何 iOS 6.o 功能,那可能运行良好!您的基础 SDK 设置为 iOS5.0 还是 6.0? 在带有 XCode 4.5 和 iOS SDK 6.0 以及部署目标 5.0 的 iOS 5 和 iOS 6 设备上运行的主要区别之一是自动旋转的行为,因为在 iOS 6.0 中不推荐使用 shouldAutorotateToInterfaceOrientation。 5.x 设备确实收到旧的轮换通知,6.0 设备没有,在我看来这很荒谬,因为部署目标是 5.0。【参考方案2】:

我遇到了同样的问题。我正在使用 Xcode 4.5 创建一个针对 iOS 5 的项目,因此项目基础 SDK 是 iOS6。

我通过编辑MainStoryBoard.storyboard 文件并从以下行中删除了trigger="accessoryAction" 解决了这个问题

之前:

< segue destination="f1z-co-5vQ" kind="push" identifier="ShowTestPoints2" trigger="accessoryAction" id="KQV-Ht-eG9"/>

之后:

< segue destination="f1z-co-5vQ" kind="push" identifier="ShowTestPoints2" id="KQV-Ht-eG9"/>

【讨论】:

以上是关于对 iOS 5.0 和 iOS 6.0 使用 XCode 4.5 的困惑的主要内容,如果未能解决你的问题,请参考以下文章

InAppBrowser Cordova IOS 弃用警告

XCode 4.5 iOS 6.0 模拟器和旋转问题

Mobx学习

Redis 6.0多线程介绍

XCODE中怎么使用IOS 5.0的模拟器?

如何管理适用于 iOS 7 和 iOS 6.0 的自动布局约束