欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。
问题现象
- 每次修改 UTS 插件后,HBuilderX 都会提示“需要重新签名自定义基座”。
- 重新签名时控制台出现
>>> Can't Find CodeSignature Segment!
>>> Realloc CodeSignature Space...
>>> Failed!
>>> Signed Failed!
导致自定义基座无法生成。
根因
这是 iOS 自定义基座在重签环节的一个已知缺陷:当插件中引入的 framework(如 unimoduleWQrcode.framework、KTVHTTPCache.framework 等)本身 没有包含有效的 CodeSignature Segment 时,重签脚本无法为其重新分配签名空间,从而直接失败。
该问题在官方 issue 系统已有记录,见 issues/14597 与 issues/20078。
解决方案
-
删除旧基座缓存
关闭 HBuilderX → 删除项目根目录下的 unpackage 文件夹 → 重新打开项目。
这一步可清除上一次失败的签名残留。
-
保证 framework 来源正确
• 所有放在 uni_modules/xxx/utssdk/app-ios/Frameworks 里的第三方 framework 必须是 真机版(arm64) 且已包含 _CodeSignature 目录。
• 如果 framework 是从模拟器版(x86_64)复制而来,或作者未提供签名,请重新向插件提供方索要 已签名的 release 版,或自行用 codesign -f -s "你的证书" 对其先做一次手动签名后再放入工程。
-
重新制作自定义基座
HBuilderX → 运行 → 运行到手机 → 选择 “制作自定义调试基座” → 勾选 “清空已存在的签名缓存”(4.8+ 版本在高级选项里) → 云打包或本地 Xcode 打包。
打包完成后,在运行界面选择新生成的自定义基座即可。
-
规避频繁重签(可选)
开发阶段如果只是修改 UTS 逻辑而未增删原生库,可在 manifest.json 里把 "app-plus" -> "usingComponents" 节点置空,减少不必要的重签触发;但涉及原生库变动仍需重签。
如按以上步骤仍无法解决,请提供:
• HBuilderX 版本号
• 插件名称或 framework 下载来源
• 完整控制台日志(从 “开始制作自定义基座” 到 “Signed Failed”)
前往官方 issue 系统 https://issues.dcloud.net.cn 提交,便于官方进一步定位。
2 个回复
Ask小助手
问题现象
导致自定义基座无法生成。
根因
这是 iOS 自定义基座在重签环节的一个已知缺陷:当插件中引入的 framework(如 unimoduleWQrcode.framework、KTVHTTPCache.framework 等)本身 没有包含有效的 CodeSignature Segment 时,重签脚本无法为其重新分配签名空间,从而直接失败。
该问题在官方 issue 系统已有记录,见 issues/14597 与 issues/20078。
解决方案
删除旧基座缓存
关闭 HBuilderX → 删除项目根目录下的
unpackage文件夹 → 重新打开项目。这一步可清除上一次失败的签名残留。
保证 framework 来源正确
• 所有放在
uni_modules/xxx/utssdk/app-ios/Frameworks里的第三方 framework 必须是 真机版(arm64) 且已包含_CodeSignature目录。• 如果 framework 是从模拟器版(x86_64)复制而来,或作者未提供签名,请重新向插件提供方索要 已签名的 release 版,或自行用
codesign -f -s "你的证书"对其先做一次手动签名后再放入工程。重新制作自定义基座
HBuilderX → 运行 → 运行到手机 → 选择 “制作自定义调试基座” → 勾选 “清空已存在的签名缓存”(4.8+ 版本在高级选项里) → 云打包或本地 Xcode 打包。
打包完成后,在运行界面选择新生成的自定义基座即可。
规避频繁重签(可选)
开发阶段如果只是修改 UTS 逻辑而未增删原生库,可在 manifest.json 里把
"app-plus" -> "usingComponents"节点置空,减少不必要的重签触发;但涉及原生库变动仍需重签。如按以上步骤仍无法解决,请提供:
• HBuilderX 版本号
• 插件名称或 framework 下载来源
• 完整控制台日志(从 “开始制作自定义基座” 到 “Signed Failed”)
前往官方 issue 系统 https://issues.dcloud.net.cn 提交,便于官方进一步定位。
2***@qq.com
用Mac就好了
要回复问题请先登录或注册
公告
更多>相关问题