iOS应用因隐私权限崩溃,但已配置NSBluetoothAlwaysUsageDescription怎么办?
iOS应用蓝牙权限崩溃排查(已配置权限仍报错)
2023-08-04 11:22:48.611193-0400 SitePoint-iOS-Sample[1626:556052] [access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSBluetoothAlwaysUsageDescription key with a string value explaining to the user how the app uses this data
以下是针对性的排查和解决步骤:
- 核对键名拼写:确保Info.plist中配置的是**
NSBluetoothAlwaysUsageDescription**,注意大小写、单词拼写完全一致,避免出现拼写错误(比如少写字母、错写单词)。 - 确认目标配置的正确性:如果项目存在多个Target或多环境(Debug/Release),检查当前运行的Build对应的Info.plist是否包含该键值,避免修改了非当前目标的配置文件。
- 清理项目缓存:执行
Cmd+Shift+K清理项目,再执行Cmd+Option+Shift+K清理Build文件夹,之后重启Xcode重新编译运行。 - 补充兼容权限键:iOS 13及以上版本,若应用需要扫描蓝牙设备,除了
NSBluetoothAlwaysUsageDescription,建议同时添加NSBluetoothPeripheralUsageDescription(旧版蓝牙权限键),部分系统版本可能需要双键配置才能正常识别。 - 重装应用:删除设备上的现有应用,重新安装最新编译的版本,避免旧版本应用缓存导致的配置不生效。
- 检查XML格式(若手动编辑):如果是直接编辑XML格式的Info.plist,确保键值对标签闭合、格式正确,没有语法错误破坏配置结构。
内容的提问来源于stack exchange,提问作者Crag
相关产品推荐
相关产品推荐

