iPhone 通过UIRequiredDeviceCapabilities指定程序适用于哪些设备
以前在itunes中查看某个应用时,会有说明信息,表明程序适用于ios 1.0,2.0,3.0什么的。
上周末将Key Manager上传到app store时,一直有个疑问,就是没有发现填写程序适用于哪些设备的地方。
虽有疑问,但程序还是上传成功了,只是心里有个担心,怕程序不能通过审核。
但是前天发现,程序审核通过了,切实高兴了一番。
今天闲来无事,决定查下为什么现在不需要填写程序的适用设备了。
呵呵,不卖关子了,如下:
当提交程序到app store时,3.0及更高版本的应用程序不再直接说明使用哪种设备,而是使用info.plist文件来确定需要哪些设备功能。iTunes通过这个所需功能的列表来确定一个应用程序能否下载到一个指定的设备并在该设备上正常运行。
例如,我在info.plist中设置如下,那么只有居右wifi、电话功能和麦克风(内置的或附件所带的麦克风功能)的ios设备才能运行该程序。

除了wifi和telephony项,还有很多项代表各种设备功能,如下:
| sms | 应用程序需要Messages应用程序或者使用sms://URL |
| still-camera | 应用程序需要使用照相机模式作为图像选取器的控制器 |
| auto-focus-camera | 应用程序需要使用更多的聚焦功能以进行微距摄影或者拍摄特别清晰的图像以进行图像内数据检测 |
| video-camera | 应用程序需要使用视频模式作为图像选取器的控制器 |
| accelerometer | 应用程序需要特定于加速计的反馈而不知是简单的UIViewController方向事件 |
| location-services | 应用程序需要使用Core Location |
| gps | 应用程序需要使用Core Location并需要更加精确的gps定位 |
| magnetometer | 应用程序需要使用Core Location并需要与前进方向相关的事件,即行进的方向(通过磁力计获得) |
| peer-peer | 应用程序需要使用GameKit通过蓝牙(3.1或更高版本)进行对等连接 |
| opengles-1 | 应用程序需要OpenGL ES 1.1 |
| opengles-2 | 应用程序需要OpenGL ES 2.0 |
| armv-6 | 应用程序仅针对armv6指令集(3.1或更高版本)编译 |
| armv-7 | 应用程序仅针对armv7指令集(3.1或更高版本)编译 |
iPhone 通过UIRequiredDeviceCapabilities指定程序适用于哪些设备的更多相关文章
- iPad和iPhone上的应用程序图标
iPad和iPhone上的应用程序图标 问:如何在iPad和iPhone使用我的应用程序包中的图标文件? 答:下面是处理文件的图标为iPhone专用的应用程序,iPad的专用应用程序,以及通用的应用程 ...
- IOS开发之Iphone和Ipad应用程序图标和启动动画
本文转载至 http://blog.csdn.net/yesjava/article/details/8782060 当我们用xcode开发iphone和ipad应用程序的时候,我们可以用一下表中所显 ...
- c/c++编译时,指定程序运行时查找的动态链接库路径
http://blog.csdn.net/tsxw24/article/details/10220735 c/c++编译时,指定程序运行时查找的动态链接库路径 分类: c/c++ linux 2013 ...
- Android -- 分享功能和打开指定程序
打开指定程序 Intent intent ...
- C# 指定程序打开指定文件
Process process = new Process(); process.StartInfo.FileName = 指定程序exe文件路径: process.StartInfo.Argumen ...
- PHP判断iPhone、iPad、Android、PC设备的方法
因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备种类多了,下面我们一起来看小编整理的一段php判断iPhone.iPad.Android.PC设备的例子. 注意:本代码的PC系统为 ...
- Shell脚本实现每个工作日定时执行指定程序
我们可能会遇到这样的情景:必须在每个工作日定时执行Linux服务器上的某个程序.那么有没有办法实现这一功能呢?答案是肯定的.我们可以运用Shell脚本简单实现这一功能. 原理很简单,Shell脚本内部 ...
- 在iOS应用程序中打开设备设置界面及其中某指定的选项界面
摘自:http://stackoverflow.com/questions/8246070/ios-launching-settings-restrictions-url-scheme [[UIApp ...
- runas/cpau/lsrunase使用小结(以管理员运行指定程序)
企业环境中,为了安全起见一般都没有赋予域用户或者企业的PC客户端用户管理员权限. 但偶尔会有个别的程序一定需要管理员身份才能执行,如财务某些程序或专业的应用程序.那么如何不赋予用户管理员权限及密码但又 ...
随机推荐
- hnust 好友互动标识
问题 A: 好友互动标识 时间限制: 1 Sec 内存限制: 128 MB提交: 897 解决: 122[提交][状态][讨论版] 题目描述 QQ有一个有趣的功能即显示好友互动标识,它 ...
- 解决windows文件名过长无法删除的问题
删除windows文件时,系统提示如下错误: 从网上找到下面的一种方法,顺利解决(原理不清楚),现记录删除方法如下: . 在要删除的文件夹(delete_dir)同级新建一个空文件夹(empty_di ...
- 原始套接字--简易ping程序
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> ...
- nyoj 题目21 三个水杯
三个水杯 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子.三个水杯之间相互倒水,并且水杯没有 ...
- ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 J: 外币兑换
http://acm.ocrosoft.com/problem.php?cid=1316&pid=9 题目描述 小明刚从美国回来,发现手上还有一些未用完的美金,于是想去银行兑换成人民币.可是听 ...
- J2EE的十三个技术——EJB之实体Bean
概述: 实体Bean与会话Bean不同,实体Bean是持久的,即使应用程序结束,它仍然存在.它允许共享访问,具有主键. 组成: 1)本地(Local)接口 本地访问EJB,只有在EJB与客户在同一个应 ...
- hexo站点地图
将网站链接提交到百度 百度搜索引擎提交入口 有三种验证方式,我选择Html标签验证,在themes\next\layout\_partials\head.swing中添加验证代码: <meta ...
- 关于Yarn源码那些事-前传之ResourceManager篇(一)初始化
在关于Yarn那些事的博客里,介绍的主要是针对任务提交的一个动态流程说明,而其中牵涉到的一些细节问题,必须通过Resourcemanager的启动和NodeManager的启动,来更好的说明. 而本系 ...
- <转自原博客> 可爱的字符串算法们
在非常强又非常关心学弟学妹学习的企鹅学长变态的考纲下,我们无奈中选择一起学习新姿势 first:KMP算法 这是一个小迪更过博客的算法,我就不好意思在这里献丑了,所以献上友链一份:http://rab ...
- node_module删除
https://segmentfault.com/q/1010000002972327 npm install rimraf -g rimraf node_modules