轉載請註明出處:http://www.cnblogs.com/chenshengtai/archive/2013/04/29/ios_devices_filter.html
問題:
最近在微博上看到iOS開發人員遇到的設定支援的iOS裝置問題,問題是這樣的,有些apps在開發過程中會用到比較多的記憶體,比如需要512m的記憶體,因此需要設定不支援記憶體不足512m的裝置。
1、請看關於各個iOS裝置的記憶體情況:
如此,要支援512m的iOS裝置是iPod touch 5,iPhone 4,iPad2及以上的裝置。最近有研究過iOS裝置的使用率問題,順便跟大家分享一個資料:
iOS裝置統計表:
iOS版本統計表:
(這是我的業餘時間做得一個應用【美女那些圖】的統計資料,最好成績中國區攝影類第16名。)
因此,支援記憶體在512m以上的裝置,忽略的使用者群還是比較小的,損失不大,當然大家可以根據自己的需求與記憶體的使用方式,自己權衡。
2、至於限制iPod touch 5,iPhone 4,iPad2以下的裝置,可以通過硬體限制。
請仔細查看iOS裝置的硬體支援詳細列表:
http://developer.apple.com/library/ios/#documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/B_DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html#//apple_ref/doc/uid/TP40011225-CH17-SW1
我們發現支援armv7指令集的裝置是iPod touch 4,iPhone 3GS,iPad 1及以上裝置,但是,iPod touch 4,iPhone 3GS和iPad都是256m記憶體的,因此我需要把這3個裝置排除。
3、經過仔細研究得出一下結果:
1、加上“armv7”和“front-facing-camera”硬體限制,可以把iPhone 3GS和iPad 1排除在外,但是並不能排除iPod touch 4。即支援iPod touch 4、iPhone 4和iPad 2及以上裝置,其中只有iPod touch 4是256m記憶體的裝置,其他均為512m記憶體以上。
2、如果只是iPhone上並不適配iPad的apps,可以加上“armv7”和“camera-flash”硬體限制,可以把iPhone 3GS和iPod Touch 4排除在外,完美實現僅支援512m的iOS裝置。但是切記是iPhone上的apps才能這麼限制,要不然所有的iPad都會被限制,因為iPad沒有閃光燈(camera-flash)。
具體操作如下:
添加硬體限制,直接添加Item即可。
當然這裡我們要添加的是“front-facing-camera”限制而不是opengles-2限制。
應該有不少開發人員有這個需求,特寫此文章,希望可以幫到更多的iOS開發人員!
以下是本文參考的英文資料:
iOS裝置的記憶體分別是多少:
http://stackoverflow.com/questions/371107/how-much-ram-is-there-in-an-an-ios-iphone-ipad-ipod-touch-device
iOS裝置的硬體支援詳細列表:
http://developer.apple.com/library/ios/#documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/B_DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html#//apple_ref/doc/uid/TP40011225-CH17-SW1
如何設定你的app支援的裝置:
http://blog.manbolo.com/2012/05/02/how-to-indicate-what-devices-are-supported-by-your-ios-app