iOS权限配置

访问相应的功能时,要在plist配置相应的权限

  • 摄像头(相机)权限
  • 相册权限
  • 蓝牙权限
  • 日历权限
  • 访问通讯录
  • 访问使用Face ID
  • 访问用户位置
  • 访问及更改用户健康数据
  • 访问设备麦克风
  • 访问设备加速度计
  • 访问用户提醒
  • 访问Siri
  • Apple的语音识别服务器
  • 访问用户的临床记录
  • 访问用户的HomeKit配置数据

1. 摄像头(相机)权限

NSCameraUsageDescription:
NSCameraUsageDescriptionString- iOS)描述了应用程序(包括iMessage应用程序)访问设备摄像头的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。

重要提示: 为了保护用户隐私,在iOS 10.0上或之后链接的iOS应用程序以及访问设备摄像头的用户必须静态声明这样做的意图。在应用程序的文件中包含NSCameraUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试访问设备的相机而没有相应的用途字符串,则您的应用会退出。
iOS 7.0及更高版本支持此密钥
iOS12 beta1需添加麦克风权限,此BUG iOS12 beta2已经修复

2. 相册权限

NSPhotoLibraryAddUsageDescription:
NSPhotoLibraryAddUsageDescriptionString- iOS)此键可让您描述应用程序寻求对用户照片库的只写访问权限的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问用户的照片库,必须静态声明这样做的意图。在应用程序的文件中包含NSPhotoLibraryAddUsageDescription键(在iOS 11上或之后链接的应用程序中)或NSPhotoLibraryUsageDescription键,Info.plist为该键提供用途字符串。如果您的应用尝试访问用户的照片库而没有相应的用途字符串,则您的应用会退出。
iOS 11.0及更高版本支持此密钥

NSPhotoLibraryUsageDescription:
NSPhotoLibraryUsageDescriptionString- iOS)此键可让您描述应用访问用户照片库的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。
虽然此键控制对用户照片库的读写访问,但如果您的应用只需要向库中添加资源而不需要读取任何资源,则最好使用NSPhotoLibraryAddUsageDescription

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问用户的照片库,必须静态声明这样做的意图。在应用程序的文件中包含NSPhotoLibraryUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试访问用户的照片库而没有相应的用途字符串,则您的应用会退出。
iOS 6.0及更高版本支持此密钥。

3. 蓝牙权限

NSBluetoothPeripheralUsageDescription:
NSBluetoothPeripheralUsageDescriptionString- iOS)此键可让您描述应用使用蓝牙的原因。当系统提示用户允许使用时,您为此密钥提供的值将显示为警报的一部分。

重要提示: 为了保护用户隐私,在iOS 10.0上或之后链接的iOS应用程序以及访问蓝牙接口的用户必须静态声明这样做的意图。在应用程序的文件中包含NSBluetoothPeripheralUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试访问蓝牙界面而没有相应的用途字符串,则您的应用会退出。
iOS 6.0及更高版本支持此密钥。

4. 日历权限

NSCalendarsUsageDescription:
NSCalendarsUsageDescriptionString- iOS)此键可让您描述应用访问用户日历的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问用户的日历,必须静态声明这样做的意图。在应用程序的文件中包含NSCalendarsUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试访问用户的日历而没有相应的用途字符串,则您的应用会退出。
iOS 6.0及更高版本支持此密钥。

5. 访问通讯录

NSContactsUsageDescription:
NSContactsUsageDescriptionString- iOS)使用该键可以描述应用访问用户联系人的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问用户的联系人,必须静态声明这样做的意图。在应用程序的文件中包含NSContactsUsageDescription键,Info.plist并为此键提供目的字符串。如果您的应用尝试访问用户的联系人而没有相应的用途字符串,则您的应用会退出。
iOS 6.0及更高版本支持此密钥。

6. 访问使用Face ID

NSFaceIDUsageDescription:
NSFaceIDUsageDescription(String- iOS)。通过此键,您可以描述应用使用Face ID的原因。

重要提示: 为了保护用户隐私,在iOS 11或之后链接的iOS应用程序以及在硬件支持时访问Face ID的iOS应用程序必须静态声明这样做的意图。在应用程序的文件中包含NSFaceIDUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试访问没有相应目的字符串的Face ID,您的应用可能会退出。
iOS 11及更高版本支持此密钥。

7. 访问位置权限

NSLocationAlwaysUsageDescription:始终访问用户位置
NSLocationAlwaysUsageDescriptionString- iOS)此键可让您描述应用程序始终访问用户位置信息的原因。当您的应用在前台或后台运行时以可能非显而易见的方式使用位置服务时,请包含此密钥。例如,当社交应用使用位置信息来跟踪用户的位置并显示附近的其他用户时,社交应用可能会包含此密钥。在这种情况下,应用程序跟踪用户位置的事实可能不是很明显。系统在请求使用位置服务的权限时,在向用户显示的警报面板中包含此密钥的值。

重要提示:为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问用户的位置信息,必须静态声明这样做的意图。在应用程序的文件中包含NSLocationAlwaysUsageDescription键,Info.plist并为此键提供目的字符串。如果您的应用尝试访问用户的位置信息而没有相应的用途字符串,则您的应用会退出。
iOS 8.0及更高版本支持此密钥。

NSLocationWhenInUseUsageDescription:在前台运行时以及在使用时访问用户位置信息
NSLocationWhenInUseUsageDescriptionString- iOS)此键可让您描述应用在应用程序在前台运行时以及在使用时访问用户位置信息的原因。当您的应用使用位置服务直接跟踪用户的当前位置时,请包含此密钥。此密钥不支持使用位置服务来监控区域或使用重要位置更改服务监控用户的位置。系统在请求使用位置服务的权限时,在向用户显示的警报面板中包含此密钥的值。

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问用户的位置信息,必须静态声明这样做的意图。在应用程序的文件中包含NSLocationWhenInUseUsageDescription键,Info.plist并为此键提供目的字符串。如果您的应用尝试访问用户的位置信息而没有相应的用途字符串,则您的应用会退出。
iOS 8.0及更高版本支持此密钥。

8. 用户健康数据

NSHealthShareUsageDescription:读取用户健康数据
NSHealthShareUsageDescription(String- iOS)。通过此键,您可以描述应用读取用户健康数据的原因。调用[requestAuthorizationToShareTypes:readTypes:completion:]方法时,系统会提示用户允许访问,此字符串将显示为警报的一部分。有关更多信息,请阅读HKHealthStore类参考和设置HealthKit。该字符串是可本地化的。

重要提示:为保护用户隐私,iOS 10.0上或之后链接的iOS应用程序必须静态声明这样做的意图,该应用程序读取用户的健康数据。在应用程序的文件中包含NSHealthShareUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试在没有相应目的字符串的情况下读取用户的健康数据,则您的应用会退出。
iOS 8.0及更高版本支持此密钥。

NSHealthUpdateUsageDescription:更改用户健康数据
NSHealthUpdateUsageDescription(String- iOS)。通过此键,您可以描述应用程序更改用户健康数据的原因。调用[requestAuthorizationToShareTypes:readTypes:completion:]方法时,系统会提示用户允许访问,此字符串将显示为警报的一部分。有关更多信息,请阅读HKHealthStore类参考和设置HealthKit。该字符串是可本地化的。

重要提示: 为保护用户隐私,iOS 10.0上或之后链接的iOS应用程序必须静态声明这样做的意图,该应用程序读取用户的健康数据。在应用程序的文件中包含NSHealthUpdateUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试更改用户的健康数据而没有相应的用途字符串,则您的应用会退出。
iOS 8.0及更高版本支持此密钥。

9. 访问设备麦克风

NSMicrophoneUsageDescription:
NSMicrophoneUsageDescriptionString- iOS)此键可让您描述应用程序(包括iMessage应用程序)访问任何设备麦克风的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。

重要提示:为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问任何设备的麦克风,必须静态声明这样做的意图。在应用程序的文件中包含NSMicrophoneUsageDescription键,Info.plist并为此键提供目的字符串。如果您的应用尝试访问任何设备的麦克风而没有相应的用途字符串,则您的应用会退出。
iOS 7.0及更高版本支持此密钥。

10. 访问设备加速度计

NSMotionUsageDescription:
NSMotionUsageDescriptionString- iOS)此键可让您描述应用访问设备加速度计的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问设备的加速计,必须静态声明这样做的意图。在应用程序的文件中包含NSMotionUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试访问设备的加速计而没有相应的用途字符串,则您的应用会退出。
iOS 7.0及更高版本支持此密钥。

11. 访问用户提醒

NSRemindersUsageDescription:
NSRemindersUsageDescriptionString- iOS)此键可让您描述应用访问用户提醒的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问用户的提醒,必须静态声明这样做的意图。在应用程序的文件中包含NSRemindersUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试在没有相应目的字符串的情况下访问用户的提醒,则您的应用会退出。
iOS 6.0及更高版本支持此密钥。

12. 访问Siri

NSSiriUsageDescription:
NSSiriUsageDescription(String- iOS)此键可让您描述应用向Siri发送用户数据的原因。您的应用第一次显式请求访问Siri时,系统会将此字符串显示为警报的一部分。如果用户与您的应用程序的第一次交互发生在Siri本身,则可以使用默认字符串。

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问Siri,必须静态声明这样做的意图。在应用程序的文件中包含NSSiriUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试在没有相应目的字符串的情况下访问Siri,则您的应用会退出。

13. 访问Apple语音识别服务器

NSSpeechRecognitionUsageDescription:
NSSpeechRecognitionUsageDescription(String- iOS)此键可让您描述应用程序将用户数据发送到Apple语音识别服务器的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序将用户数据发送到Apple的语音识别服务器,必须静态声明这样做的意图。在应用程序的文件中包含NSSpeechRecognitionUsageDescription键,Info.plist并为此密钥提供目的字符串。如果您的应用尝试使用Apple的语音识别服务而没有相应的用途字符串,则您的应用会退出。

14. 访问用户的临床记录

NSHealthClinicalHealthRecordsShareUsageDescription:
NSHealthClinicalHealthRecordsShareUsageDescriptionString- iOS)。此密钥包含一个字符串,当您的应用请求访问用户的临床记录时,该字符串将显示在授权提示中。该字符串应提供访问这些记录的理由。

重要提示:iOS 12.0及更高版本支持此密钥。

15. 访问用户的HomeKit配置数据

NSHomeKitUsageDescription:
NSHomeKitUsageDescription(String- iOS,watchOS)。使用此键可以描述应用访问用户的HomeKit配置数据的原因。当系统提示用户允许访问时,此字符串将显示为警报的一部分。

重要提示: 为了保护用户隐私,iOS 10.0上或之后链接的iOS应用程序访问用户的HomeKit配置数据,必须静态声明这样做的意图。在应用程序的文件中包含NSHomeKitUsageDescription键,Info.plist并为此键提供目的字符串。如果您的应用尝试更改用户的HomeKit配置数据而没有相应的用途字符串,则您的应用会退出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,552评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,666评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,519评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,180评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,205评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,344评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,781评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,449评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,635评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,467评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,515评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,217评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,775评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,851评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,084评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,637评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,204评论 2 341