问题:

  最近在微博上看到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

iOS开发——设置支持的iOS设备(512m内存以上设备)相关推荐

  1. android button 中文字位置设置,iOS开发-- 设置UIButton的文字显示位置、字体的大小、字体的颜色...

    btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...

  2. IOS开发设置应用程序App启动图片

    IOS开发设置应用程序App启动图片 在资源Assets 的图片区域 右键建立一个Launch Image ,如第二张图,然后把相应的启动图片拖进去. 最后选中项目,找到 Assets ,设置 启动图 ...

  3. iOS 开发:彻底理解 iOS 内存管理(MRC 篇)

    本文首发于我的个人博客:「程序员充电站」 文章链接:「传送门」 本文更新时间:2021年08月17日17:11:59 本文是 「iOS 开发:彻底理解 iOS 内存管理」系列的「MRC 篇」. 用来对 ...

  4. 《iOS开发完全上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营

    编写Hello World应用程序通常被认为,是学习任何编程语言的第一步.在这一章,你将创建iOS版的Hello World应用程序作为起步,快速了解Xcode这个开发iOS应用程序的主要工具.   ...

  5. 《iOS开发全然上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营...

         编写Hello World应用程序通常被觉得,是学习不论什么编程语言的第一步.在这一章,你将创建iOS版的Hello World应用程序作为起步,高速了解Xcode这个开发iOS应用程序的主 ...

  6. 《iOS开发完全上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C

    2019独角兽企业重金招聘Python工程师标准>>> 编写Hello World应用程序通常被认为,是学习任何编程语言的第一步.在这一章,你将创建iOS版的Hello World应 ...

  7. 小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth

    小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth 本项目为对小米手环进行二次开发,利用了小米手环蓝牙连接并不安全的特性,连接后可以获取手环数据,并可修改数据. 本实例使用Swif ...

  8. iOS开发系列课程(01) --- iOS编程入门

    iOS概述 什么是iOS   iOS是苹果公司为它的移动设备(iPhone.iPad.iWatch等)开发的移动操作系统. iOS发展史 2007年苹果发布iPhone Runs OS X 2008年 ...

  9. Delphi for iOS开发指南(14):在iOS应用程序中使用InterBase ToGo

    在开始这篇教程之前,你应该预先阅读并按下面教程实际操作过: •iOS开发指南(9):在iOS应用程序中使用ListBox组件来显示TableView 这篇教程描述了在iOS Device上,通过dbE ...

最新文章

  1. 云监控状态调查:公有云和混合云的监控成熟度落后于传统数据中心
  2. Struts2 中#、@、%和$符号的用途
  3. BugkuCTF-Misc:Linux
  4. [js] 使用ajax轮询接口有什么优缺点?
  5. Linux以oracle用户登录,Linux_oracle 10G for linux常用命令,首先以Oracle用户登录1、 - phpStudy...
  6. Hibernate的多表查询,分装到一个新的实体类中的一个方法
  7. Android编程之ActivityManager: Segmentation fault
  8. 编辑距离问题(Edit Distance Problem)
  9. struts2笔记06-ServletXxxAware接口
  10. C#读取CAD文件DXF
  11. 蔡学镛 java,Java该何去何从思考
  12. sd卡 linux分区教程,《电脑端SD卡分区 小白教程 支持ext swap 分区无需linux环境、》.docx...
  13. 金立Android版本,金立amigo为国内首个安卓5.0手机操作系统
  14. 学习OpenCV(4) 基于OpenCV的双目测距程序
  15. Linux常用命令及面试题
  16. 华为OD机试 - 士兵过河
  17. 大三第十一周学习笔记
  18. 神经系统分类和组成图表,神经系统的组成概念图
  19. python经典类新式类_Python的新式类和经典类
  20. VS调试FindWindow的HWND出现unused<无法读取内存>

热门文章

  1. SQLDBX如何连接CACHE!!!
  2. 计算机存储单位 t后面的单位,字节后面的存储单位是什么
  3. 创新之道,亚马逊创新之旅背后的故事
  4. 20/06/27 charles安装报【User installations are disabled via policy on the machine】解决方法
  5. Android M的App Links实现详解
  6. python爬虫笔记五:汽车之家贴吧信息(字体反爬-动态映射)
  7. Vue.js 组件 - 组件间的循环引用
  8. Esp8266 进阶之路19 【外设篇①】esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。(附带Demo)
  9. Anaconda3\Scripts\activate.bat 不是内部或外部命令,也不是可运行的程序的问题处理方法
  10. SpringMVC+Mybatis框架集成开发基础——项目开发流程——01