【发布时间】:2013-05-14 15:22:22
【问题描述】:
我需要一个 iOS 应用程序来兼容以前的 iOS 版本,至少从 4.0 开始,并且还兼容以前的设备(iPhone 4S、4、3GS...,可能还有所有的 iPad 设备)。我发现一些处理 iOS 版本向后兼容性的帖子已经有几年了(例如,How to build against older iOS versions with the latest Xcode downloads?),我不知道这是否已被弃用或者它仍然是继续的方式,至少关于应用程序构建.关于编程问题,我想我应该检查文档以了解我想要使用的所有 iOS 版本是否支持我想要使用的 SDK 功能/库/框架......并且有了这些信息,我该如何以编程方式检查设备运行的 iOS 版本,是否提供某种功能?
另一方面,关于 iOS 版本和运行它们的设备:我能否找到任何列出哪些 iOS 版本支持每个现有设备的 Apple 文档?在开发应用程序时,我应该考虑哪些与硬件相关的问题?
非常感谢
编辑:目标架构是我必须考虑的唯一硬件考虑因素吗?例如,知道 iPhone 3GS 能够运行并且正在运行 iOS 6.1.3,我是否可以假设该设备将支持 SDK 的所有功能,或者我仍然需要检查这些功能的可用性,具体取决于在设备上?
【问题讨论】:
-
问题的根源在于构建目标 armv 架构,您不能再在新版本的 Xcode 中定位这些架构。见stackoverflow.com/questions/12619124/…。我非常强烈建议将需求更改为 iOS 4.3+ 而不是 iOS 4.0+,因为它会让您头疼不已。目前大多数开发者只针对 iOS 4.3+,因为 Apple 很难支持旧的 iOS 版本。
-
另外,这个文档(虽然现在有点老了)有一个很好的支持 iOS 版本的矩阵 dropbox.com/s/u4lp189clie04ki/…
-
目前有百分之几的设备在
iOS5下运行。将应用程序定位到iOS4+而不是iOS5有什么意义?通常的做法是您(或您的客户)应该只针对应用程序针对当前的 iOS 版本和一个落后的版本,目前我正在写这篇评论时是iOS5和iOS6. -
就是这样,针对iOS 4及更高版本作为应用程序的要求...如果在开发阶段满足这样的要求确实不便,也许应该至少提高到iOS 4.3...
标签: iphone ios xcode ipad backwards-compatibility