《iOS 6高级开发手册(第4版)》——1.2节添加设备能力限制

简介:

本节书摘来自异步社区《iOS 6高级开发手册(第4版)》一书中的第1章,第1.2节添加设备能力限制,作者 【美】Erica Sadun,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 添加设备能力限制
iOS 6高级开发手册(第4版)
应用程序的Info.plist属性列表使你能够在向iTunes提交应用程序时指定应用程序的要求。这些限制允许告诉iTunes应用程序需要哪些设备特性。

每个iOS单元都会提供一个独特的特性集。一些设备会提供照相机和GPS能力,另外一些则不会。一些设备具有机载陀螺仪、自动聚焦,以及其他强大的选项。你可以指定在设备上运行应用程序时需要哪些特性。

在Info.plist文件中包括UIRequiredDeviceCapabilities键时,iTunes将限制把应用程序安装到提供必需能力的设备。把这个列表作为一个字符串数组或者字典提供。

数组指定每个必需的能力;该数组中的每一项都必须存在于设备上。字典允许显式要求或禁止某个特性,字典键就是能力,字典值用于设置特性是必须存在(布尔值true)还是必须省略(布尔值false)。

表1-1中详细说明了当前的键。其中只包括应用程序绝对需要或者不能支持的那些特性。如果应用程序可以提供解决办法,就不要以这种方式添加限制。表1-1讨论了每个特性。当使用禁令而不是需求时,意义就颠倒了,例如,不能机载自动聚焦照相机或陀螺仪,或者不支持游戏中心(Game Center)访问。


971d7434fa0bf7aae8bdc6a57b5bc841b7cf2483


5227073483e42b546b73b5018b0adb2e1e209408

例如,考虑一个应用程序,当在备有照相机的设备上运行时,它将提供一个选项用于拍摄图片。如果应用程序是在前置摄像头的iPod Touch单元上工作,就不要包括进静物照相机限制。可代之以从应用程序内检查照相机兼容性,并在合适时展示照相机选项。添加静物照相机限制将从潜在的顾客池中排除掉许多早期的iPod Touch(第1~3代)和iPad(第1代)所有者。

1.2.1 用户权限描述
为了保护隐私,最终用户必须明确地允许应用程序访问提醒信号、照片、位置、联系人和日历数据。为了说服用户接受,它有助于解释应用程序可以怎样使用这类数据,并且说明访问它的原因。给位于Info.plist文件顶层的以下键分配字符串值。当iOS提示用户有关特定于资源的权限时,它将显示这些字符串,作为它的标准对话框的一部分:

NSRemindersUsageDescription
NSPhotoLibraryUsageDescription
NSLocationUsageDescription
NSContactsUsageDescription
NSCalendarsUsageDescription

1.2.2 其他常用的Info.plist键
下面给出了你可能想在属性列表中分配的另外几个常用键,以及有关它们可以做什么的描述。

UIFileSharingEnabled(Boolean型,默认为关):允许用户从iTunes中访问应用程序的Documents文件夹的内容。这个文件夹出现在应用程序沙盒的顶级。`
UIAppFonts(Array型,字体名称(包括其扩展)的字符串):指定在软件包中提供的自定义的TTF字体。在添加字体时,可以使用标准的UIFont调用访问它们。`
UIApplicationExitsOnSuspend(Boolean型,默认为关):当用户单击Home按钮时使应用程序能够终止,而不是转移到后台。当启用这个键时,iOS将会终止应用程序,并从内存中清除它。`
UIRequiresPersistentWifi(Boolean型,默认为关):指示iOS在应用程序活动时维持一条Wi-Fi连接。
UIStatusBarHidden(Boolean型,默认为关):如果启用这个键,则会在应用程序启动时隐藏状态栏。`
UIStatusBarStyle(String型,默认为UIStatusBarStyleDefault):指定应用程序启动时的状态栏的风格。`

相关文章
|
7月前
|
运维 网络安全 iOS开发
厉害!外国网络工程师用Ansible给思科IOS设备升级!
厉害!外国网络工程师用Ansible给思科IOS设备升级!
|
7月前
|
BI Linux 数据安全/隐私保护
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
238 0
|
8月前
|
Android开发 iOS开发 UED
探索未来:Android与iOS在智能穿戴设备上的较量
随着科技的飞速进步,智能穿戴设备已经成为我们日常生活中不可或缺的一部分。本文将深入探讨两大操作系统——Android和iOS——在智能穿戴领域的竞争与发展,分析它们各自的优势与挑战,并预测未来的发展趋势。通过比较两者在设计哲学、生态系统、用户体验及创新技术的应用等方面的差异,揭示这场较量对消费者选择和市场格局的影响。 【7月更文挑战第31天】
87 0
|
8月前
|
Android开发 数据安全/隐私保护 iOS开发
探索未来:安卓与iOS在智能穿戴设备领域的较量
随着科技的飞速发展,智能穿戴设备已逐渐成为我们日常生活的一部分。从健康监测到通讯交流,它们正以惊人的速度改变着我们的生活方式。本文将深入探讨安卓和iOS这两大操作系统在智能穿戴领域的现状、竞争以及未来发展趋势,揭示它们如何通过创新技术满足用户需求,并预测未来可能的发展方向。
75 0
|
10月前
|
设计模式 定位技术 开发工具
探索iOS开发:从初级到高级的旅程
本文将深入探讨iOS开发的各个方面,从基础知识到高级技术,以及如何从初级开发者成长为高级开发者。我们将讨论各种工具、技术和策略,以帮助你在iOS开发领域取得成功。无论你是刚刚开始学习iOS开发,还是已经有一些经验并希望提升你的技能,这篇文章都将为你提供有价值的信息和建议。
|
10月前
|
机器学习/深度学习 PyTorch TensorFlow
是否有其他框架可以在iOS设备上进行机器学习?
是否有其他框架可以在iOS设备上进行机器学习?
68 1
|
10月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
271 0
|
10月前
|
iOS开发
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
160 0
|
10月前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
150 1
|
10月前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
146 0

热门文章

最新文章

  • 1
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 2
    iOS|解决 setBrightness 调节屏幕亮度不生效的问题
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 4
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 5
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 6
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 7
    iOS各个证书生成细节
  • 8
    uniapp云打包ios应用证书的获取方法,生成指南
  • 9
    iOS|记一名 iOS 开发新手的前两次 App 审核经历
  • 10
    【iOS 开发】初识函数式 Swift 实用
  • 1
    uniapp云打包ios应用证书的获取方法,生成指南
    28
  • 2
    iOS|解决 setBrightness 调节屏幕亮度不生效的问题
    117
  • 3
    iOS|记一名 iOS 开发新手的前两次 App 审核经历
    20
  • 4
    iOS各个证书生成细节
    36
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    161
  • 6
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    55
  • 7
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    75
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    54
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    66
  • 10
    uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
    174