使用UIView+ARView时出现“default-binaryarchive.metallib未找到”警告求助
解决ARView出现
default-binaryarchive.metallib缺失警告的方案 可行的解决步骤:
检查Bundle资源打包配置
这个警告的核心是RealityKit依赖的默认金属库文件未被正确打包进应用。对比正常项目的Build Phases->Copy Bundle Resources,确认当前项目是否包含相关资源。如果没有,手动添加:- 右键项目目录,选择
Add Files to "你的项目名" - 前往路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/RealityKit.framework/Resources(Mac平台替换为MacOS.platform) - 选中
default-binaryarchive.metallib,勾选Copy items if needed和对应目标后添加
- 右键项目目录,选择
清理缓存后重新构建
缓存损坏可能导致资源打包异常,执行以下操作:- 按
Command+Shift+K清理项目构建缓存 - 按
Command+Option+Shift+K清理Derived Data - 关闭Xcode,删除项目目录下的
Build文件夹 - 重新打开项目并构建运行
- 按
对齐Deployment Target版本
确认两款应用的Deployment Target是否一致,RealityKit要求iOS 13及以上版本,若当前项目版本过低,可能引发资源引用问题,调整到和正常项目相同版本后重试。调整ARView初始化时机
尝试将ARView的初始化从懒加载闭包移到viewDidLoad中,避免懒加载触发时的资源加载异常:var arView: ARView! override func viewDidLoad() { super.viewDidLoad() arView = ARView(frame: .zero, cameraMode: .nonAR, automaticallyConfigureSession: false) arView.translatesAutoresizingMaskIntoConstraints = false setArview() }
内容的提问来源于stack exchange,提问作者Hope
相关产品推荐
相关产品推荐

