You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS应用公证失败:二进制签名无效问题求助

问题分析与解决方案

核心原因

双架构签名无效的根源在于FlutterMacOS.framework根目录存在未密封内容——这违反了苹果代码签名规则,破坏了整个App的签名完整性,导致公证时两个架构的二进制都被判定为无效签名。

解决步骤

1. 清理嵌入式框架的冗余文件

进入RazorCode.app/Contents/Frameworks/FlutterMacOS.framework目录,删除所有不属于框架标准结构的文件/文件夹,比如:

  • 临时构建残留(如.DS_Store、build文件夹、日志文件)
  • 非标准框架组件(如额外脚本、测试文件)

2. 按正确顺序重新签名

苹果官方不推荐使用--deep递归签名,需遵循从内到外的签名顺序:

  • 先签名嵌入式框架:
    codesign -s "你的开发者证书ID" --force --preserve-metadata=identifier,entitlements,flags RazorCode.app/Contents/Frameworks/FlutterMacOS.framework
    
  • 再签名主App:
    codesign -s "你的开发者证书ID" --force --preserve-metadata=identifier,entitlements,flags RazorCode.app
    

3. 验证签名有效性

运行以下命令确认签名无错误:

codesign -vvv RazorCode.app

确保输出中不再出现unsealed contents present相关提示。

4. 重新打包并提交公证

使用苹果推荐的命令生成合规归档包:

ditto -c -k --sequesterRsrc --keepParent RazorCode.app RazorCode.zip

之后重新提交该zip包进行公证。

内容的提问来源于stack exchange,提问作者Daniel Kang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 23:09:55