IOS 特定于设备的开发:Info.plist属性列表的设置
应用程序的Info.plist属性列表使你能够在向iTunes提交应用程序时指定应用程序的要求。这些限制允许告诉iTunes应用程序需要哪些设备特性。
每个IOS单元都会提供一个独特的特性集。一些设备回提供照相机和GPS能力,另外一些则不会。一些设备具有机载陀螺仪、自动聚焦,以及其他强大的选项。你可以指定在设备上运行应用程序时需要哪些特性。
在Info.plist文件中包括UIRequiredDeviceCapabilities键时,iTunes将限制把应用程序安装到提供必须能力的设备。把这个列表作为一个字符串数组或者字典提供。
数组指定每个必须的能力;该数组中每一项都必须存在于设备上。字典允许显示要求或禁止某个特性,字典键就是能力,字典值用于设置特性是必须存在(布尔值true)还是必须省略(布尔值false).
图1 必须的设备能力
| 键 | 使用 |
| telephony | 应用程序需要Phone应用程序或者使用tel://URL |
| wifi | 应用程序需要基于本地802.11的网络访问。如果在应用程序运行时IOS必须维持该Wi-Fi连接,可以添加UIRequiresPersistentWiFi作为顶级属性列表键 |
| sms | 应用程序需要Messages应用程序或者使用sms://URL |
| stil-camera | 应用程序需要机载静物照相机,并且可以使用图像拾取器界面从该静物照相机捕获照片 |
| auto-focus-camera |
应用程序需要额外的聚焦能力以进行微距摄影,或者拍摄特别清晰的图像以进行图像内的数据监测 |
| front-facing-camera | 应用程序需要在设备上前置摄像头 |
| camera-flash | 应用程序需要闪光灯特性 |
| video-camera | 应用程序需要能够录制视频的照相机 |
| accelerometer |
应用程序需要特定于加速计的反馈,而不止是简单的UIViewController定向事件。 |
| gyriscope | 应用程序需要设备上的机载陀螺仪 |
| location-services | 应用程序需要任意类型的Core Location |
| gps | 应用程序需要使用Core Location,并且需要更为精确的GPS定位 |
| magnetometer | 应用程序需要使用Core Location,并且需要与前进方向相关的事件,既行进的方向(磁力计是内置的罗盘) |
| gamekit | 应用程序需要访问游戏中心 |
| microphone | 应用程序需要使用内置的麦克风或者可以提供麦克风的附件 |
| opengles-1 | 应用程序需要OpenGL ES 1.1 |
| opengles-2 | 应用程序需要OpenGL ES 2.0 |
| armv6 | 应用程序仅针对armv6指令集进行编译 |
| armv7 | 应用程序仅针对armv7指令集进行编译 |
| peer-peer | 应用程序通过蓝牙技术使用GameKit对等连接 |
| blueetooth-le | 应用程序需要蓝牙技术的低功耗支持 |
(1)用户权限描述
为了保护隐私,最终用户必须明确的允许应用程序访问提醒信号、照片、位置、联系人、和日历数据。为了说服用户接受,它有助于解释应用程序可以怎样使用这类数据,并且说明访问他的原因。给位于Info.plist文件顶层的以下键分配字符串值。当IOS提示用户有关特定资源的权限时,他将显示这些字符串,作为他的标准对话框的一部分。
NSRemindersUsageDescription
NSPhotoLibraryUsageDescription
NSLocationUsageDescription
NSContactsUsageDescription
NSCalendarsUsageDescription
(2)其他常用的Info.plist键
下面给出了你可能想在属性列表中分配的另外几个常用键,以及有关他们可以做什么的描述。
UIFileSharingEnabled (Boolean型,默认为关):允许用户从iTunes中访问应用程序的Documents文件夹中的内容。这个文件夹出现在应用程序沙盒的顶级。
UIAppFonts(Array型,字体名称(包括其扩展)的字符串):指定在软件包中提供自定义的TTF字体。再添加字体时,可以使用标准的UIFont调用访问他们。
UIApplicationExitsOnSuspend(Boolean 型,默认为关):当用户单击Home按钮时使应用程序能够终止,而不是退出到后台。当启用这个键时,当按下Home键时,会终止应用程序,并从内存中清除它。
UIRequiresPersistentWifi (Boolean型,默认为关):指示IOS在应用程序活动时维持一条Wi-Fi连接
UIStatusBarHidden (Boolean型,默认为关):如果启用这个键,则会在应用程序中启动时隐藏状态栏
UIStatusBarStyle (string 型,默认为UIStatusBarStyleDefault):指定应用程序启动时的状态栏的风格。
IOS 特定于设备的开发:Info.plist属性列表的设置的更多相关文章
- IOS 特定于设备的开发:UIDevice
UIDevice类展示了一些关键的特定于设备的属性,包括使用的iPhone ,Ipad或iPod Touch型号.设备名称.以及OS名称和版本. 他是一种一站式解决方案,用于提取出某些系统详细信息.每 ...
- IOS 特定于设备的开发:Core Motion基础
Core Motion框架集中了运动数据处理.该框架是在IOS 4 SDK中引入的,用于取代accelerometer加速计访问.它提供了对3个关键的机载传感器的集中式监测.这些传感器有陀螺仪.磁力计 ...
- IOS 特定于设备的开发:处理基本方向
UIDevice类使用内置的orientation属性获取设备的物理方向.IOS设备支持这个属性的7个可能的值. >UIDeviceOrientationUnknown:方向目前未知. > ...
- IOS 特定于设备的开发:获取和使用设备姿势(通过手机方向控制3d物体显示)
利用设备的机载陀螺仪可以实现,当你旋转手机屏幕时,里面的画面不会随着视图更新而移动,以平衡物理运动. 下面例子利用少量简单的几何变换执行该操作.他建立一个运动管理器,订阅设备运动更新,然后基于运动管理 ...
- IOS 特定于设备的开发:基于加速计的滚动视图
倾斜滚轮使用设备的内置加速计来控制在UIScrollView的内容周围移动.当用户调增设备时,材料会相应的下落,他不会把视图定位在屏幕上,而是把内容视图滚动到一个新的偏移位置. 创建这个界面的挑战在于 ...
- IOS 特定于设备的开发:监测Retina支持
近年来,Apple在其旗舰设备上引入了Retina显示屏.根据Apple的说法,他的像素密度非常高,足以使人眼无法区分单独的像素. UIScreen类提供了一种容易的方式,用于监查当前设备是否提供了内 ...
- IOS 特定于设备的开发:检查设备接近度和电池状态
UIDevice类提供了一些API,使你能够跟踪设备的特征,包括电池的状态和接近度传感器.他们二者都以通知的形式提供更新,可以订阅他们,以便在有重要的更新时通知你的应用程序. 1>启动和禁用接近 ...
- IOS 特定于设备的开发:使用加速器启动屏幕上的对象
借助一点编程工作,iPhone的机载加速计就可以使对象在屏幕上四处“移动”,实时响应用户倾斜手机的方式.下面的代码就是创建一个动画式的蝴蝶,用户可以使之快速移过屏幕. 使之工作的秘密在于:向程序中添加 ...
- IOS 特定于设备的开发:使用加速能力“向上定位”
iPhone提供了3个机载的传感器,用于沿着iPhone的3根相互垂直的轴(左/右(x轴).上/下(y轴)和前/后(z轴))度量加速能力.这些值指示作用于iPhone的力,它们来自重力和用户移动.可以 ...
随机推荐
- strtus2.3 java.lang.NoSuchFieldException: DEFAULT_PARAM>
strtus2.3.15.1 的bug请下载 http://download.csdn.net/detail/livalue/6229373 或加群到群共享中下载.214579879
- Oracle聚合求和和聚合求积(顺便解决BOM展开的问题)
本文参考网址:http://www.itpub.net/thread-1020772-1-1.html 我们在日常的工作中,经常遇到了针对某一列的值,进行求和,求平均值,在一些特殊的业务场景下,我们需 ...
- 转场动画2-Pop动画
上一篇试讲push动画,这篇分解pop动画 里面关于矩阵有不懂得,参考CATransform3D 特效详解 上图(虚拟机下,图是渣渣 ) 代码直接上 // // PopTransition.h // ...
- iOS keyChain(钥匙串)的简单使用
通常在开发中我们需要长久的保存某些值比如用户的账号密码等,对于隐私度很高的数据来说保证数据的安全性是尤为重要的.ios中的keyChain是一种很好的选择. 首先去开发者网站(https://deve ...
- MFC的资源切换AFX_MANAGE_STATE(AfxGetStaticModuleState()
转载自:http://blog.chinaunix.net/uid-20532101-id-1931929.html 以前写MFC的DLL的时候,总会在自动生成的代码框架里看到提示,需要在每一个输出的 ...
- js浮点数精度问题
大多数语言在处理浮点数的时候都会遇到精度问题,但是在JS里似乎特别严重,来看一个例子 alert(45.6*13); 结果居然是592.800000000001,当然加法之类的也会有这个问题 那这是j ...
- 常用笔记: JS实现VBS当中的Replace
<script> //JS实现VBS当中的Replace,替换全部.方法名大写,区别于原方法,与VBS相类似. String.prototype.Replace = function(ol ...
- PhpStorm 10.0 激活方式
随着 JetBrains 新版本的发布,注册机已然不行了.然而,道高一尺,魔高一丈.IntelliJ IDEA开源社区 提供了如下通用激活方法:注册时选择License server填写http:// ...
- 循环-21. 求交错序列前N项和
/* * Main.c * C21-循环-21. 求交错序列前N项和 * Created on: 2014年8月18日 * Author: Boomkeeper ***********测试通过**** ...
- querySelectorAll 和 jQuery选择器
参考 http://xahlee.info/js/jquery_diff_querySelectorAll.html http://stackoverflow.com/questions/115035 ...