核心原则
- 最小权限原则 :只请求你的应用必须要用的权限。请求过多权限会降低用户信任度和安装转化率。
 - 清晰明确的描述 :描述文案 (
Usage Description) 必须清楚、诚实地解释为什么需要该权限。模糊的描述(如"为了提供更好的服务")是 App Store 审核被拒的常见原因。 - 适时请求:在用户即将使用到相关功能时再请求权限,而不是一启动就请求所有权限。这样用户更容易理解并同意。
 
隐私权限列表
以下是按功能分类的常见权限:
1. 位置 (Location)
用于获取用户设备的地理位置信息。
- 
Privacy - Location When In Use Usage Description- 
键名 :
NSLocationWhenInUseUsageDescription - 
用途 : 请求在应用使用期间访问位置的权限。这是最常见的位置请求类型。
 - 
描述文案示例:
"用于记录您跑步的路线并绘制轨迹图。"
"获取您所在城市的天气信息。"
"为您推荐附近的餐厅和便利店。"
 
 - 
 - 
Privacy - Location Always and When In Use Usage Description- 
键名 :
NSLocationAlwaysAndWhenInUseUsageDescription(iOS 11+) - 
用途 : 请求始终 访问位置的权限(包括应用在后台时)。需要极其充分的理由(如导航、健身跟踪),苹果审核非常严格。
 - 
描述文案示例:
"持续记录您的骑行路径,即使屏幕关闭也能正常工作。"
"在您接近提醒地点时,在后台为您发送通知。"
 
 - 
 - 
Privacy - Location Temporary Usage Description Dictionary(iOS 14+)- 
键名 :
NSLocationTemporaryUsageDescriptionDictionary - 
用途 : 请求一次性的精确定位权限。适用于只需要一次精确定位,之后无需持续追踪的场景。
 - 
描述文案 : 这是一个字典,需要提供
Purpose Key和对应的描述。xml
xml<key>NSLocationTemporaryUsageDescriptionDictionary</key> <dict> <key>NavigationPurpose</key> <string>我们需要您精确的位置来为您提供转弯导航服务。</string> </dict> 
 - 
 
2. 相机 (Camera)
用于使用设备的前后置摄像头。
- 
Privacy - Camera Usage Description- 
键名 :
NSCameraUsageDescription - 
用途: 请求使用相机的权限。
 - 
描述文案示例:
"用于扫描二维码以解锁共享单车。"
"拍摄照片和视频来发布您的生活动态。"
"进行视频通话和直播。"
 
 - 
 
3. 相册 (Photo Library)
用于访问用户设备上的照片和视频。
- 
Privacy - Photo Library Usage Description- 
键名 :
NSPhotoLibraryUsageDescription - 
用途 : 请求读取和添加照片/视频的权限(完整访问)。
 - 
描述文案示例:
"用于您选择照片来设置个人头像。"
"上传图片和视频来撰写您的旅行博客。"
 
 - 
 - 
Privacy - Photo Library Additions Usage Description- 
键名 :
NSPhotoLibraryAddUsageDescription - 
用途 : 请求仅添加(写入) 照片/视频到相册的权限,而不读取已有内容。隐私友好度更高。
 - 
描述文案示例:
"将您编辑好的图片保存到相册。"
"将下载的视频保存到您的相机胶卷中。"
 
 - 
 
4. 麦克风 (Microphone)
用于使用设备的麦克风录制音频。
- 
Privacy - Microphone Usage Description- 
键名 :
NSMicrophoneUsageDescription - 
用途: 请求使用麦克风的权限。
 - 
描述文案示例:
"用于录制语音消息发送给朋友。"
"在进行视频录制时捕获声音。"
"进行语音输入转换文字。"
 
 - 
 
5. 通讯录 (Contacts)
用于读取或写入用户的联系人列表。
- 
Privacy - Contacts Usage Description- 
键名 :
NSContactsUsageDescription - 
用途: 请求访问通讯录的权限。
 - 
描述文案示例:
"用于查找您的好友是否也在使用本应用。"
"为您选择联系人以分享内容。"
"将活动信息快速添加至联系人。"
 
 - 
 
6. 蓝牙 (Bluetooth)
用于与蓝牙设备进行交互。
- 
Privacy - Bluetooth Always Usage Description(iOS 13+)- 
键名 :
NSBluetoothAlwaysUsageDescription - 
用途 : 请求始终使用蓝牙的权限(用于扫描、连接外围设备)。替代了旧的
NSBluetoothPeripheralUsageDescription。 - 
描述文案示例:
"连接并控制您的智能手表。"
"与无线耳机配对以播放音乐。"
 
 - 
 
7. 日历和提醒事项 (Calendar & Reminders)
用于读取或写入用户的日历和提醒事项。
- 
Privacy - Calendars Usage Description- 
键名 :
NSCalendarsUsageDescription - 
用途: 请求访问日历的权限。
 - 
描述文案示例:
"将您预定的会议添加到系统日历中。"
"同步您的日程安排并设置提醒。"
 
 - 
 - 
Privacy - Reminders Usage Description- 
键名 :
NSRemindersUsageDescription - 
用途: 请求访问提醒事项的权限。
 - 
描述文案示例:
"将您的待办事项创建为提醒。"
 
 - 
 
8. 运动与健身 (Motion & Fitness)
用于访问运动与健身数据(如步数、爬楼层数)。
- 
Privacy - Motion Usage Description- 
键名 :
NSMotionUsageDescription - 
用途: 请求访问陀螺仪、加速计等Motion协处理器数据以跟踪运动。
 - 
描述文案示例:
"记录您的步数和行走距离以计算卡路里消耗。"
"在游戏中通过晃动设备进行操作。"
 
 - 
 - 
Privacy - Health Share Usage Description和Privacy - Health Update Usage Description- 
键名 :
NSHealthShareUsageDescription,NSHealthUpdateUsageDescription - 
用途 : 请求从HealthKit读取 (Share)和写入 (Update)健康数据的权限。需要配置HealthKit能力。
 - 
描述文案示例:
"将您的步行数据同步到健康App中。"
"读取您的心率数据用于分析睡眠质量。"
 
 - 
 
9. 语音识别 (Speech Recognition)
用于将音频转换为文本。
- 
Privacy - Speech Recognition Usage Description- 
键名 :
NSSpeechRecognitionUsageDescription - 
用途: 请求使用设备语音识别功能的权限。
 - 
描述文案示例:
"将您的语音指令转换为文字。"
"为视频内容自动生成字幕。"
 
 - 
 
10. 本地网络 (Local Network)
用于发现并与本地网络上的设备(如智能家居设备、打印机、游戏主机)通信。
- 
Privacy - Local Network Usage Description(iOS 14+)- 
键名 :
NSLocalNetworkUsageDescription - 
用途: 请求访问本地网络的权限。
 - 
描述文案示例:
"用于发现和连接您家里的智能电视。"
"与同一局域网内的其他设备进行游戏联机。"
 
 - 
 
11. 追踪 (Tracking) - 极其重要
用于追踪用户 across apps and websites,用于广告或数据共享。
- 
Privacy - Tracking Usage Description(iOS 14+)- 
键名 :
NSUserTrackingUsageDescription - 
用途 : 请求追踪用户的权限。必须使用 AppTrackingTransparency (ATT) 框架弹窗请求 ,仅配置
Info.plist无效。 - 
描述文案示例 (必须非常明确地告知追踪用途):
"您的数据将用于向您展示个性化广告。"
"允许与第三方数据合作伙伴共享标识符,用于分析和广告投放。"
 
 - 
 
12. Face ID (生物识别)
用于使用 Face ID 或 Touch ID 进行身份验证。
- 
Privacy - Face ID Usage Description(iOS 11+)- 
键名 :
NSFaceIDUsageDescription - 
用途: 请求使用 Face ID(对于有 Touch ID 的设备,此描述也会显示在 Touch ID 提示中)的权限。
 - 
描述文案示例:
"使用面容ID快速安全地解锁应用和进行支付验证。"
 
 - 
 
13. 媒体库 (Apple Music)
用于访问用户的 Apple Music 或 iTunes 媒体库。
- 
Privacy - Media Library Usage Description(iOS 9.3+)- 
键名 :
NSAppleMusicUsageDescription - 
用途: 请求访问用户媒体库的权限。
 - 
描述文案示例:
"用于将您的音乐添加到播放列表。"
 
 - 
 
总结与最佳实践
- 按需添加 :对照你的应用功能,只将必需的权限键添加到 
Info.plist中。 - 编写诚实清晰的文案:文案是给用户看的,直接关系到用户是否授权。解释"为什么"需要,而不是"要什么"。
 - 动态请求 :使用对应的 API(如 
CLLocationManager.requestWhenInUseAuthorization())在合适的时机请求权限,而不是在AppDelegate中一次性请求。 - 处理拒绝:你的代码应该处理用户拒绝授权的情况,优雅地降级功能或提示用户去设置中开启。
 - 检查权限状态 :在请求前,先检查当前的授权状态 (
CLAuthorizationStatus,PHAuthorizationStatus等),避免重复请求。 - 特殊能力 :某些功能(如 HealthKit, Apple Pay, Push Notifications, NFC, 后台模式)除了 
Info.plist描述,还需要在 Xcode 的Signing & Capabilities选项卡中启用对应能力,并可能在苹果开发者门户进行配置。 
这份列表涵盖了绝大多数场景,苹果可能会随着新版本的发布引入新的权限类型,建议在开发时随时查阅 Apple's Official Documentation。