当最新版本为iOS6时,为iOS5配置Xcode



我已经为iOS6发布了一款应用(部署目标:6.1,SDK 6.1),但现在我希望为iOS5制作这款应用,因为我意识到有多少用户仍然使用iOS5来保留旧的原生谷歌地图。我知道我必须删除任何ios6独有的功能,如自动布局和UICollectionView,这对我来说是可以的。

我的问题是,在Xcode中,我需要配置什么?我是否修改部署目标和SDK以读取5.x?如果我这么做,苹果审查委员会会拒绝我的应用吗?

我尽量避免做"如果设备是iOS6那么,否则如果设备是iOS5那么",因为这听起来很混乱,当尝试构建,所以我决定只是让整个应用程序100% iOS5,以保持事情简单。

如果你的应用拥有和我们一样的用户群,那么你应该期待大约35%左右的用户仍然使用iOS 5。这不仅是因为用户对地图的顽固看法,还因为iOS 6还没有为最初的iPad提供支持,因为很多人只是在一切都运行良好的情况下不升级。

要让你的应用程序在iOS 5下运行,只需更改部署目标。当你为iOS开发时,你总是链接到最新的SDK,因为:

  • 基于旧SDK构建没有技术优势-
    • Objective-C调用是完全动态的,所以操作系统可以弄清楚如何路由它们。
    • 普通C结构体,如CGRectCGPointNSRange等,在大小上没有变化;
    • 所有的C api都是围绕着传递引用而设计的,比如CGImageRef,所以即使下面的东西完全改变了,编译代码处理引用的正确方式仍然是相同的;和
  • Apple只针对最新的SDK测试最新的编译器工具链,您将想要利用所有最新的编译器优化和错误修复。

假设你想要利用iOS 6独有的功能,你不会测试操作系统的版本,你会测试该功能是否可用。通常需要调用respondsToSelector:或测试[<feature> class]是否为非nil。

最新更新