iOS开发——设置支持的iOS设备(512m内存以上设备)
问题:
最近在微博上看到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内存以上设备)相关推荐
- android button 中文字位置设置,iOS开发-- 设置UIButton的文字显示位置、字体的大小、字体的颜色...
btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlS ...
- IOS开发设置应用程序App启动图片
IOS开发设置应用程序App启动图片 在资源Assets 的图片区域 右键建立一个Launch Image ,如第二张图,然后把相应的启动图片拖进去. 最后选中项目,找到 Assets ,设置 启动图 ...
- iOS 开发:彻底理解 iOS 内存管理(MRC 篇)
本文首发于我的个人博客:「程序员充电站」 文章链接:「传送门」 本文更新时间:2021年08月17日17:11:59 本文是 「iOS 开发:彻底理解 iOS 内存管理」系列的「MRC 篇」. 用来对 ...
- 《iOS开发完全上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营
编写Hello World应用程序通常被认为,是学习任何编程语言的第一步.在这一章,你将创建iOS版的Hello World应用程序作为起步,快速了解Xcode这个开发iOS应用程序的主要工具. ...
- 《iOS开发全然上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营...
编写Hello World应用程序通常被觉得,是学习不论什么编程语言的第一步.在这一章,你将创建iOS版的Hello World应用程序作为起步,高速了解Xcode这个开发iOS应用程序的主 ...
- 《iOS开发完全上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C
2019独角兽企业重金招聘Python工程师标准>>> 编写Hello World应用程序通常被认为,是学习任何编程语言的第一步.在这一章,你将创建iOS版的Hello World应 ...
- 小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth
小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth 本项目为对小米手环进行二次开发,利用了小米手环蓝牙连接并不安全的特性,连接后可以获取手环数据,并可修改数据. 本实例使用Swif ...
- iOS开发系列课程(01) --- iOS编程入门
iOS概述 什么是iOS iOS是苹果公司为它的移动设备(iPhone.iPad.iWatch等)开发的移动操作系统. iOS发展史 2007年苹果发布iPhone Runs OS X 2008年 ...
- Delphi for iOS开发指南(14):在iOS应用程序中使用InterBase ToGo
在开始这篇教程之前,你应该预先阅读并按下面教程实际操作过: •iOS开发指南(9):在iOS应用程序中使用ListBox组件来显示TableView 这篇教程描述了在iOS Device上,通过dbE ...
最新文章
- 云监控状态调查:公有云和混合云的监控成熟度落后于传统数据中心
- Struts2 中#、@、%和$符号的用途
- BugkuCTF-Misc:Linux
- [js] 使用ajax轮询接口有什么优缺点?
- Linux以oracle用户登录,Linux_oracle 10G for linux常用命令,首先以Oracle用户登录1、 - phpStudy...
- Hibernate的多表查询,分装到一个新的实体类中的一个方法
- Android编程之ActivityManager: Segmentation fault
- 编辑距离问题(Edit Distance Problem)
- struts2笔记06-ServletXxxAware接口
- C#读取CAD文件DXF
- 蔡学镛 java,Java该何去何从思考
- sd卡 linux分区教程,《电脑端SD卡分区 小白教程 支持ext swap 分区无需linux环境、》.docx...
- 金立Android版本,金立amigo为国内首个安卓5.0手机操作系统
- 学习OpenCV(4) 基于OpenCV的双目测距程序
- Linux常用命令及面试题
- 华为OD机试 - 士兵过河
- 大三第十一周学习笔记
- 神经系统分类和组成图表,神经系统的组成概念图
- python经典类新式类_Python的新式类和经典类
- VS调试FindWindow的HWND出现unused<无法读取内存>
热门文章
- SQLDBX如何连接CACHE!!!
- 计算机存储单位 t后面的单位,字节后面的存储单位是什么
- 创新之道,亚马逊创新之旅背后的故事
- 20/06/27 charles安装报【User installations are disabled via policy on the machine】解决方法
- Android M的App Links实现详解
- python爬虫笔记五:汽车之家贴吧信息(字体反爬-动态映射)
- Vue.js 组件 - 组件间的循环引用
- Esp8266 进阶之路19 【外设篇①】esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。(附带Demo)
- Anaconda3\Scripts\activate.bat 不是内部或外部命令,也不是可运行的程序的问题处理方法
- SpringMVC+Mybatis框架集成开发基础——项目开发流程——01