我需要一个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文档列出哪些iOS版本支持每个现有设备?在开发应用程序时应考虑哪些与硬件有关的问题?
非常感谢
编辑:目标体系结构(s)是唯一的硬件考虑我已经考虑到?了解到,例如,iPhone 3GS可以运行并运行iOS 6.1.3,我是否可以假设该设备将支持所有SDK的功能,或者我仍然需要检查此类功能的可用性在设备上?
问题的根源是关于建设目标ARMV架构,你不能再针对更新版本的Xcode。请参阅http://stackoverflow.com/questions/12619124/how-to-support-both-armv6-and-armv7s-for-release-build-in-xcode-4-5。我非常强烈建议将需求更改为iOS 4.3+而不是iOS 4.0+,因为这会为您节省一笔巨大的麻烦。目前,大多数开发人员仅针对iOS 4.3以上,因为Apple已经难以支持较早的iOS版本。 – bengoesboom 2013-05-14 15:51:32
另外,这个文件(虽然现在有点老)有一个很好的支持设备的iOS版本的矩阵https://www.dropbox.com/s/u4lp189clie04ki/iOS_Support_Matrix_AUTUMN2012-2.pdf – bengoesboom 2013-05-14 15:56:35
目前几个百分点的设备运行在iOS5下。将应用程序定位到“iOS4 +”而不是“iOS5”有什么意义?常规做法是,您(或您的客户)应将应用程序**作为当前iOS版本的目标,并将一个版本作为仅支持**的版本,当我撰写此评论时,这是“iOS5”和“iOS6”。 – holex 2013-05-14 20:57:16