MAC命令行程序工程获取摄像头麦克风权限

2020-06-26  本文已影响0人  大凡呀

背景

最近在学习ffmpeg在MAC平台下的开发,在进行录音功能开发的时候,发现在XCode工程中总是可以编译成功,但是执行时就会报由于权限问题导致的崩溃,如下图所示:


这是由于XCode工程的命令行程序默认没有Info.plist文件,导致在执行时不会有权限弹窗,没有获取麦克风权限导致的。

解决方法

手动创建Info.plist文件,填充如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>NSMicrophoneUsageDescription</key>
    <string>record from the microphone</string>
    <key>NSCameraUsageDescription</key>
    <string>record from the camera</string>
</dict>
</plist>

将创建好的文件放到工程目录下,然后进入工程设置:

选择命令行工具的Scheme-> Build Phases-> 增加New Copy File Phase-> Destination选择Products Directory-> 选择刚创建的Info.plist文件

再次执行,就会发现会有麦克风权限的弹窗,点击 允许使用

然后就可以正常运行调试了,其余的权限问题也可以用这种方法解决。

上一篇下一篇

猜你喜欢

热点阅读