iOS 应用权限的完整列表 [英] Complete list of iOS app permissions

查看:35
本文介绍了iOS 应用权限的完整列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

不同的网站(eg) 解释说,iOS 权限模型是这样工作的:所有应用程序都有一组基本权限(包括 Internet 访问权限).如果在运行时需要额外的权限,系统会询问用户是授予还是拒绝.

Different web sites (e.g.) explain that the iOS permission model works like this: All apps have a set of basic permissions (including Internet access). If an additional permission is required during runtime the user is asked whether to grant or deny it.

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

Which permissions does iOS know? What belongs to the basic permissions set? What can be done without user consent? Basically I am looking for a list similar to this one, just for iOS

推荐答案

与其他答案相反,有一个在运行时询问的官方权限列表.它位于 iOS 安全指南(第 84 页):

In contrast to other answers, there is an official list of permissions that are asked at runtime. It is in the iOS Security Guide (p. 84):

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

iOS helps prevent apps from accessing a user’s personal information without permission. Additionally, in Settings, users can see which apps they have permitted to access certain information, as well as grant or revoke any future access. This includes access to:

  • 联系人
  • 日历
  • 提醒
  • 照片
  • 运动活动和健身
  • 定位服务
  • 苹果音乐
  • 您的音乐和视频活动
  • 麦克风
  • 相机
  • HomeKit
  • 健康
  • 语音识别
  • 蓝牙共享
  • 您的媒体库

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

If the user signs in to iCloud, apps are granted access by default to iCloud Drive. Users may control each app’s access under iCloud in Settings. Additionally, iOS provides restrictions that prevent data movement between apps and accounts installed by an MDM solution and those installed by the user.

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

Since iOS 10 it is required to provide a description for the requested permission. In the developer documentation of the frameworks you will see if such a description is required and accessing it's API will lead to an permission prompt (or crash if not description is given), e.g. see the hint in the developer documentation of the Contacts framework:

重要

在 iOS 10.0 或之后链接的 iOS 应用程序必须在其 Info.plist 文件中包含它需要访问的数据类型的使用说明键,否则会崩溃.要专门访问通讯录数据,它必须包含 NSContactsUsageDescription.

An iOS app linked on or after iOS 10.0 must include in its Info.plist file the usage description keys for the types of data it needs to access or it will crash. To access Contacts data specifically, it must include NSContactsUsageDescription.

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

Additionally, a good source of available permissions for each iOS/macOS version is in the Information Property List Key Reference (search for UsageDescription contained in words).

至少还有一个其他未记录的权限需要在运行时获得用户同意:

There is at least one other undocumented permission that requires user consent at runtime:

  • Network Content Filter (no usage description; requires Network Extension entitlement)

这篇关于iOS 应用权限的完整列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆