You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Xcode中识别OBS虚拟摄像头?(M1 Mac环境)

解决Mac Catalyst模式下无法识别OBS虚拟摄像头的问题

针对你在M1 Mac上使用Xcode 15/16 Beta,以“My Mac (Designed for iPhone)”模式运行App时无法识别OBS虚拟摄像头的问题,可尝试以下解决方案:

  • 补充Info.plist权限声明
    Mac Catalyst环境下,App必须明确声明摄像头权限才能访问视频设备。在Info.plist中添加NSCameraUsageDescription键,值为权限申请说明文本(比如“需要访问摄像头进行视频采集”)。同时确保NSMicrophoneUsageDescription已正确配置,避免权限链缺失。

  • 改用AVCaptureDeviceDiscoverySession枚举设备
    旧的[AVCaptureDevice devices]API在Mac Catalyst环境下可能无法完整枚举虚拟摄像头,建议使用AVCaptureDeviceDiscoverySession精准获取视频设备:

    // 创建视频设备发现会话,包含内置与外接/虚拟设备类型
    AVCaptureDeviceDiscoverySession *session = [AVCaptureDeviceDiscoverySession discoverySessionWithDeviceTypes:@[AVCaptureDeviceTypeBuiltInWideAngleCamera, AVCaptureDeviceTypeExternalUnknown]
                                                                                                    mediaType:AVMediaTypeVideo
                                                                                                     position:AVCaptureDevicePositionUnspecified];
    
    NSArray *videoDevices = session.devices;
    for (AVCaptureDevice *device in videoDevices) {
        NSLog(@"视频设备名称: %@", device.localizedName);
        // 按需区分设备类型
        if (device.position == AVCaptureDevicePositionBack) {
            NSLog(@"设备位置: 后置");
        } else if (device.position == AVCaptureDevicePositionFront) {
            NSLog(@"设备位置: 前置");
        } else {
            NSLog(@"设备位置: 外接/虚拟");
        }
    }
    

    其中AVCaptureDeviceTypeExternalUnknown类型可确保识别外接及虚拟摄像头。

  • 验证OBS虚拟摄像头配置
    确认OBS已启用虚拟摄像头功能(OBS设置>视频>虚拟摄像头),且插件为Arm架构适配版本(OBS v30+默认支持M1);同时在系统隐私设置(系统设置>隐私与安全性>摄像头)中,确保你的App和Xcode已获得摄像头访问权限。

  • 检查Xcode运行配置
    在Xcode的Signing & Capabilities页面,确认已添加Camera权限;同时验证App签名状态,避免因签名问题导致权限验证失败。

内容的提问来源于stack exchange,提问作者Alexufo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 18:39:56