首页 > 代码库 > IOS 特定于设备的开发:Info.plist属性列表的设置

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调用访问他们。

IOS 特定于设备的开发:Info.plist属性列表的设置