完整的iOS应用权限列表

Jac*_*ler 18 permissions ios ios-permissions

不同的网站(例如)解释说iOS权限模型的工作原理如下:所有应用程序都有一组基本权限(包括Internet访问权限).如果在运行时期间需要其他权限,则会询问用户是授予还是拒绝它.

iOS知道哪些权限?什么属于基本权限集?没有用户同意可以做些什么?基本上我正在寻找类似于这个列表,仅适用于iOS

Max*_*Max 27

与其他答案相比,有一个在运行时询问的正式权限列表.它位于iOS安全指南(第85页)中:

iOS有助于防止应用未经许可访问用户的个人信息.此外,在"设置"中,用户可以查看他们允许访问某些信息的应用,以及授予或撤消任何将来的访问权限.这包括访问:

  • 往来
  • 日历
  • 提醒
  • 相片
  • 运动活动和健身
  • 位置服务
  • Apple Music
  • 您的音乐和视频活动
  • 社交媒体帐户,如Twitter和Facebook
  • 麦克风
  • 相机
  • HomeKit
  • 健康
  • 语音识别
  • 蓝牙共享
  • 你的媒体库

如果用户登录iCloud,则默认授予应用程序访问iCloud Drive的权限.用户可以在"设置"中的iCloud下控制每个应用的访问权限.此外,iOS提供的限制可防止MDM解决方案安装的应用和帐户与用户安装的应用和帐户之间的数据移动.

从iOS 10开始,它需要提供所请求权限的描述.在框架的开发人员文档中,您将看到是否需要这样的描述并且访问它的API将导致权限提示(或者如果没有给出描述则崩溃),例如,请参阅框架开发者文档中的Contacts提示:

重要

在iOS 10.0上或之后链接的iOS应用程序必须在其Info.plist文件中包含其需要访问的数据类型的使用说明密钥,否则将崩溃.要具体访问联系人数据,必须包括NSContactsUsageDescription.

此外,每个iOS/macOS版本的可用权限的良好来源位于信息属性列表键参考(搜索UsageDescription包含在单词中).


Boi*_*ime 5

您可以添加到info.plist文件中的所有密钥都在Apple 文档中列出并进行了描述。

对于大多数后台模式,您需要在 Info.plist 中添加一个键来指示应用程序希望在后台运行代码。

但此信息并非用于征得用户许可,仅用于确保设备兼容性。

只有某些服务需要用户许可(例如地理位置和通知服务),这些服务会在您的应用程序首次尝试使用相应的 API 时自动询问用户。