问题:

  最近在微博上看到iOS开发者遇到的设置支持的iOS设备问题,问题是这样的,有些apps在开发过程中会用到比较多的内存,比如需要512m的内存,因此需要设置不支持内存不足512m的设备。

 1、请看关于各个iOS设备的内存情况:

  

iOS 操作内存地址 ios 内存限制_ios

iPod touch 5,iPhone 4,iPad2及以上的设备。最近有研究过iOS设备的使用率问题,顺便跟大家分享一个数据:

iOS设备统计表:


iOS 操作内存地址 ios 内存限制_开发者_02

iOS版本统计表:


iOS 操作内存地址 ios 内存限制_ios_03

(这是我的业余时间做得一个应用【美女那些图】的统计数据,最好成绩中国区摄影类第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

iPod touch 4,iPhone 3GS,iPad 1及以上设备,但是,iPod touch 4,iPhone 3GS和iPad都是256m内存的,因此我需要把这3个设备排除。

 

3、经过仔细研究得出一下结果:

front-facing-camera”硬件限制,可以把iPhone 3GS和iPad 1排除在外,但是并不能排除iPod touch 4。即支持iPod touch 4、iPhone 4和iPad 2及以上设备,其中只有iPod touch 4是256m内存的设备,其他均为512m内存以上。

camera-flash”硬件限制,可以把iPhone 3GS和iPod Touch 4排除在外,完美实现仅支持512m的iOS设备。但是切记是iPhone上的apps才能这么限制,要不然所有的iPad都会被限制,因为iPad没有闪光灯(camera-flash)。

 

  具体操作如下:

  

iOS 操作内存地址 ios 内存限制_iOS 操作内存地址_04

添加硬件限制,直接添加Item即可。


iOS 操作内存地址 ios 内存限制_ios_05

当然这里我们要添加的是“front-facing-camera”限制而不是opengles-2限制。

  应该有不少开发者有这个需求,特写此文章,希望可以帮到更多的iOS开发者!