不同的网站(e.g.)解释说iOS权限模型的工作方式如下:所有应用都有一组基本权限(包括Internet访问权限)。如果在运行期间需要其他权限,则会询问用户是授予还是拒绝它。
iOS知道哪些权限?什么属于基本权限集?没有用户同意可以做些什么?基本上我正在寻找list similar to this one,仅适用于iOS
答案 0 :(得分:24)
与其他答案相比,有一个在运行时提出的官方权限列表。它位于iOS Security Guide(第84页):
iOS有助于防止应用未经许可访问用户的个人信息。此外,在“设置”中,用户可以查看他们允许访问某些信息的应用,以及授予或撤消任何将来的访问权限。这包括访问:
- 联系人
- 日历
- 提醒
- 照片
- 动作活动和健身
- 位置服务
- Apple Music
- 您的音乐和视频活动
- 麦克风
- 摄像机
- HomeKit
- 健康
- 语音识别
- 蓝牙共享
- 您的媒体库
如果用户登录iCloud,则默认授予应用程序访问iCloud Drive的权限。用户可以在“设置”中的iCloud下控制每个应用的访问权限。此外,iOS提供的限制可防止MDM解决方案安装的应用和帐户与用户安装的应用和帐户之间的数据移动。
从iOS 10开始,需要提供所请求权限的说明。在框架的开发人员文档中,您将看到是否需要这样的描述并且访问它的API将导致许可提示(或者如果没有给出描述则崩溃),例如,请参阅developer documentation of the Contacts
framework中的提示:
重要强>
iOS 10.0上或之后链接的iOS应用必须在其
Info.plist
文件中包含其需要访问的数据类型的使用说明密钥,否则会崩溃。要专门访问联系人数据,必须包含NSContactsUsageDescription
。
此外,每个iOS / macOS版本的可用权限的良好来源位于Information Property List Key Reference(搜索字词中包含的UsageDescription
)。
答案 1 :(得分:4)
您可以添加到info.plist
文件的所有密钥都列在Apple documentation中并进行了描述。
对于大多数背景模式,您需要在Info.plist中添加一个键,以指示应用程序想要在后台运行代码。
但此信息不会用于询问用户权限,仅用于确保设备兼容性。
只有部分服务需要用户权限(例如地理位置和通知服务),这些服务会在您的应用程序首次尝试使用相应的API时自动向用户询问。
答案 2 :(得分:2)
您可以在沙盒中进行任何操作。因此,默认情况下允许互联网访问和存储文件,但尝试与另一个应用程序通信,例如阅读相机胶卷或显示推送通知不是。
答案 3 :(得分:1)
似乎没有可用的官方列表。
到目前为止,我找到了这些权限,其中粗体是基本权限: