我需要一個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