iOS开发——设置支持的iOS设备(512m内存以上设备)
转载请注明出处: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以下的设备,可以通过硬件限制。
我们发现支持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