# Privacy
我们知道 Apple 非常注重对用户隐私的保护,app 在访问用户隐私(相册、位置、通讯录)前需要得到用户的授权,并且要非常明确地告知用户访问这些信息的原因,因此 iOS 在 info.plist 里提供了很多 property key,用于描述 app 访问隐私信息的原因。下面总结一下都有哪些 property key
此外 iOS 处理隐私权限稍显麻烦,我写了一个开源库 RxPrivacyManager (opens new window),用 RxSwift 简化了 iOS 处理隐私权限的流程,大家可以看一看。
# Location
# Location Always and When In Use Usage Description
NSLocationAlwaysAndWhenInUseUsageDescription
1
允许访问位置信息-始终时,需要这个 key
# Location When In Use Usage Description
NSLocationWhenInUseUsageDescription
1
允许访问位置信息-使用App时,需要这个 key
# Location Always Usage Description
NSLocationAlwaysUsageDescription
1
Deprecated,iOS 11之前用这个 key
# Location Usage Decription
NSLocationUsageDescription
1
用于 macOS
# Location Temporary Usage Description Dictionary
NSLocationTemporaryUsageDescriptionDictionary
1
iOS 14 新增
临时请求用户精确的位置信息,用于 requestTemporaryFullAccuracyAuthorization(withPurposeKey:)
(opens new window)
# Camera
# Camera Usage Description
NSCameraUsageDescription
1
允许访问相机权限
# Photo Library
# Photo Library Usage Description
NSPhotoLibraryUsageDescription
1
允许读/写相册权限
# Photo Library Additions Usage Description
NSPhotoLibraryAddUsageDescription
1
允许写相册权限
照片权限
- 仅添加照片
- 选中的照片
- 所有照片
- 无
仅添加照片,表示 App 只有写权限(NSPhotoLibraryAddUsageDescription)
选中的照片和所有照片,表示 App 有读和写的权限(NSPhotoLibraryUsageDescription)