使用XCode 4.5开发iOS 5.0和iOS 6.0时出现的困惑

5
我非常困惑于iOS 5.0和iOS 6.0与XCode 4.5之间的区别。如果我想要支持在iOS 5.0及以上版本上运行我的新应用程序,哪些功能应该使用,哪些不应该使用并不是很清楚。基本上,Xcode 4.5提供了所有功能,如故事板中的容器视图和解开Segue(可能还有其他我不知道的功能),这些功能只有在iOS 6.0及以上版本中才可用,你不会知道直到运行你的应用程序并崩溃!请问是否有任何简单的解决方案?我必须回退到Xcode 4.4吗?我将部署目标设置为iOS 5.0,但无法将基础SDK设置为iOS 5.0,因为它没有出现在列表中。请参见附加的图片。谢谢。
2个回答

3
如果您仍想支持5.0或5.1版本,您可以进入Xcode首选项 -> 下载并安装iOS 5.0或5.1模拟器。

2
我已经下载了模拟器并将架构设置为仅限armv7。但是我仍然无法设置基本SDK!基本上,我想使用XCode 4.5,但不想只看到在iOS 6.0上才有的功能,因为这会在iOS 5.0上出现错误! - Paresh Masani
嗯,那我就不确定了。当我在iOS 5.1模拟器或iOS 5.1设备上运行我的代码时,它的运行方式类似于iOS 5.x,而不是iOS 6。我现在知道这个原因是因为当我尝试在iOS 6.0中运行我的应用程序时,我遇到了一些奇怪的QuickLook错误,我仍在努力解决...但是在Xcode 4.5中,它在5.1中像以前一样正常运行。 - valheru
在摘要选项卡中,您的部署目标设置为什么?我的仍然显示为5.1。 - valheru
如果您没有使用iOS 5不支持的任何iOS 6.0功能,那么可能会正常运行! 您的基本SDK设置为iOS 5.0还是6.0? - Paresh Masani
我在原问题中说过了,它是iOS 5.0 :) 直到我下载并安装了iOS 5.0和5.1模拟器之前,我无法将部署目标设置为低于iOS 6.0的任何内容,但这并没有解决我的问题,因为我仍然可以使用iOS 6.0的功能。我预计会出现编译错误,或者不想使用在iOS 5.0上不支持的功能。 - Paresh Masani
1
在使用XCode 4.5和iOS SDK 6.0以及部署目标5.0在iOS 5和iOS 6设备上运行的主要区别之一是自动旋转的行为,因为在iOS 6.0中shouldAutorotateToInterfaceOrientation已经过时。5.x版本的设备确实会收到旧的旋转通知,但6.0版本的设备不会,我认为这非常荒谬,因为部署目标是5.0。 - Moritz

2

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

我通过编辑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"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接