macOS下Unity项目运行Agora SDK抛出DllNotFoundException: agoraSdkCWrapper错误
macOS Unity项目Agora
DllNotFoundException: agoraSdkCWrapper 问题排查解决思路 1. 优先排查系统隔离与签名限制(macOS 11+ 特有高频问题)
该问题属于macOS系统对未公证第三方动态库的安全限制,是突发全项目报错的最常见原因:
- 找到项目中
agoraSdkCWrapper.bundle文件,右键点击「显示包内容」,进入Contents/MacOS目录,确认目录下存在对应可执行文件 - 打开终端执行命令查询文件隔离属性:
若输出中包含xattr -l <agoraSdkCWrapper.bundle的完整路径>com.apple.quarantine字段,说明文件被系统自动标记为隔离,导致Unity无法加载 - 执行命令移除隔离属性:
全机项目均报错的情况下,可同时对Unity编辑器安装包、Unity全局SDK缓存目录执行该命令xattr -r -d com.apple.quarantine <agoraSdkCWrapper.bundle的完整路径> - 若签名失效可执行自签名修复:
codesign --force --deep --sign - <agoraSdkCWrapper.bundle的完整路径>
2. 校验系统权限配置
- 打开macOS「系统偏好设置」→「安全性与隐私」→「隐私」标签,确认Unity Editor已勾选「麦克风」「摄像头」权限,缺少硬件权限会触发动态库加载失败
- 切换到「安全性与隐私」→「通用」标签,确认没有Agora相关的加载拦截提示,如有点击「允许」后重启Unity
3. 清理全局损坏缓存
全机项目均触发问题时,优先清理全局缓存避免损坏文件复用:
- 关闭所有运行中的Unity实例
- 删除Unity全局缓存目录:
~/Library/Unity/cache - 删除用户目录下的Agora缓存:
~/Library/Application Support/Agora - 重新打开Unity导入Agora SDK后测试
4. 兜底配置二次校验
虽已做过配置确认,可再次检查避免疏漏:
- 在Unity Project窗口选中
agoraSdkCWrapper.bundle,打开Inspector面板 - 确认「Include Platforms」下已勾选
Editor和Standalone分类中的macOS选项 - 确认「CPU」配置勾选了
Intel 64-bit,无需勾选ARM64架构 - 重新导入SDK后重启Unity,排除导入过程中的文件损坏问题
内容的提问来源于stack exchange,提问作者mrawlik
相关产品推荐
相关产品推荐

