Xcode 12.5添加.scn文件到ARKit项目报CodeSign错误如何解决?
ARKit项目
Command CodeSign failed with a nonzero exit code报错解决方案 问题触发前提
Xcode 12.5 (12E262) 版本下,替换默认.scn资源后仅真机运行报错,模拟器正常,无第三方依赖。
可行解决步骤
- 检查.scn文件Target Membership配置:选中自定义.scn文件,在右侧检查器「Target Membership」栏仅勾选项目主Target,取消勾选「Code Sign On Copy」选项。Xcode 12.5对SceneKit资源签名逻辑存在bug,勾选该选项会触发重复签名冲突。
- 清理Xcode缓存:完全关闭Xcode后,删除
~/Library/Developer/Xcode/DerivedData下对应项目的缓存目录,重启Xcode后按Command + Shift + K清理构建产物,再尝试真机运行。 - 修正资源编译属性:打开项目主Target的「Build Phases」面板,确认.scn文件在「Copy Bundle Resources」列表中,不要放置在「Compile Sources」列表下,放错分类会触发编译签名逻辑异常。
- 重新生成合法.scn文件:不要直接修改.dae后缀名得到.scn文件,通过Xcode菜单栏「Editor」→「Convert to SceneKit scene file format」转换.dae资源,导出全新.scn文件后重新导入工程,避免手动改后缀导致的格式校验失败。
- 校验签名基础配置:打开主Target「Signing & Capabilities」面板,确认已勾选「Automatically manage signing」,绑定有效开发者账号,Bundle ID无重复,配置文件状态正常。
备选绕路方案
如果以上步骤都无法解决,可将.scn文件压缩为zip包导入工程,运行时先解压到应用沙盒目录再加载,可绕开内置资源的签名校验规则。
内容的提问来源于stack exchange,提问作者Ilya Valito
相关产品推荐
相关产品推荐

