升级Xcode与iOS系统后iPhone X安装应用报代码签名版本不受支持错误
问题根因
错误码-402620375对应的提示「The code signature version is no longer supported」是Xcode 13+版本进行真机调试/安装应用的常见问题。触发原因是项目中嵌入的第三方动态库、静态库、资源Bundle使用了过时的v1版本签名格式,Xcode 13默认要求使用v2版本签名。你在iPhone 7P上运行正常、iPhone X上安装失败,是因为两台设备的系统版本对签名校验的严格程度不同,或者架构编译差异导致加载的库文件不同。
解决方案
按优先级依次尝试以下操作:
- 清理缓存重装
按Command+Shift+K清理Xcode构建缓存,手动删除iPhone X上已安装的同包名旧应用,拔掉数据线重新连接设备后再尝试构建安装。 - 调整项目签名配置
打开项目主TARGETS的Build Settings面板,找到Other Code Signing Flags配置项,新增参数--generate-entitlement-der,重新构建尝试。 - 修复CocoaPods依赖签名冲突(使用CocoaPods的场景)
在你的Podfile末尾添加如下脚本,保存后执行pod install重新安装所有依赖:
该脚本会禁止对Pods下的第三方库提前单独签名,改为由主项目统一签名,避免出现签名版本不一致的问题。post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' config.build_settings['CODE_SIGNING_REQUIRED'] = 'NO' end end end - 手动重签第三方资源
如果你有手动导入的framework、bundle文件,可在终端执行如下命令对对应文件重新签名:codesign -s "你的签名证书完整名称" -f --preserve-metadata=identifier,entitlements --generate-entitlement-der 待重签的文件路径
内容的提问来源于stack exchange,提问作者Jater Chu
相关产品推荐
相关产品推荐

