xcode配置使用摄像头和相册权限,没有Info.plist文件也可以配置,解决Thread 4: signal SIGABRT报错问题

最新的Xcode更改了相册和相机的权限关键字,在进行真机调试,或真正在用户使用的时候需要添加这些权限,否则在程序正确时仍然会产生下面的错误:

Thread 4: signal SIGABRT

This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

SIGABRT 错误通常是由于应用程序在运行时遇到无法恢复的错误而崩溃。这种错误通常与以下几个原因有关:

AVCaptureSession 的配置不正确:可能是由于摄像头权限未被授予,或者设备不支持摄像头输入。为了排查这个问题,可以按照以下步骤来调试并修复:

检查摄像头权限

在使用摄像头之前,需要确保用户已经授予应用访问摄像头的权限。你可以在 Info.plist 文件中添加以下键,以请求摄像头和相册权限:

复制代码
<key>NSPhotoLibraryUsageDescription</key>
<string>$请求访问相册</string>
<key>NSCameraUsageDescription</key>
<string>$请求使用摄像头</string>

但是我项目中没有找到 Info.plist文件啊,怎么办???

没事,我们让xcode给我们生成一个,点击项目,找到Info选项,在下面先选择一个Camera这个:

当你选中之后,就会在左侧看到Info.plist文件了:

然后在里面添加权限,添加权限有两种方式,一种是UI界面,你可以自己选择权限,一种是你手动黏贴选项进去,然后自动识别。

UI加权限

如果想手动选择加权限,也可以的,选中Info.plist右键,然后open as Property List:

就可以在列表中选中权限并添加了:

复制权限选项

在Info.plist右键打开,选择open as Source Code选项,就可以看到源代码模式:然后把刚才的权限访问黏贴上去,就可以了。然后从新运行app,就会提示你是否允许访问摄像头和相册权限。

相关推荐
qq_24218863323 分钟前
快速搭建跨环境检测服务的步骤
linux·开发语言·windows·python·macos
带娃的IT创业者2 小时前
解密OpenClaw系列10-OpenClaw系统要求
人工智能·macos·ios·objective-c·ai智能体·智能体开发·openclaw
没有bug.的程序员3 小时前
IDEA 效能巅峰实战:自定义模板 Live Templates 内核、快捷键精密逻辑与研发提效深度指南
java·ide·intellij-idea·快捷键·研发提效·自定义模板
Laughtin4 小时前
claude code的安装和更新方法(macos)
macos
systeminof4 小时前
Mac Studio发货时间明显拉长,或预示苹果新品临近发布
macos
带娃的IT创业者5 小时前
解密OpenClaw系列09-OpenClaw核心功能特性
macos·objective-c·ai agent·ai智能体·openclaw
charlie1145141915 小时前
从0开始榨干 Claude Code:VSCode 实战配置与默认读取文件完整踩坑记录
ide·vscode·编辑器
中国胖子风清扬5 小时前
GPUI 在 macOS 上编译问题排查指南
spring boot·后端·macos·小程序·rust·uni-app·web app
守城小轩6 小时前
Chromium 144 编译指南 macOS篇:环境准备(一)
macos·chrome devtools·指纹浏览器·浏览器开发
was1726 小时前
极简主义搜索:macOS 本地文件检索工具 Cardinal 深度解析
macos·文件检索