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

Install4J执行Mac安装包Apple公证时出现dmg上传失败错误

故障表现

使用Install4J构建Mac安装包执行Apple公证流程时,抛出如下错误:

故障原因:com.exe4j.a.d
无法上传XXXX.dmg文件:Unable to deserialize httpBody as json. (code -19205)

核心原因说明

错误码-19205是Install4J内部HTTP模块抛出的本地错误,代表程序向Apple公证服务发送请求前,构造JSON格式请求体时序列化失败,请求根本没有送达Apple公证服务器,和dmg本身的签名合规性、Apple公证服务侧的审核规则没有关系,无需去Apple公证后台查询记录,后台不会留存该次请求的日志。
常见触发场景包括:

  • Install4J版本过低,内置的Apple公证API适配逻辑存在已知bug
  • 公证凭据配置存在非法字符、空值,导致JSON序列化时字段类型不匹配
  • 待上传dmg的路径、文件名存在异常字符,Install4J读取文件元数据时拿到非法值
  • 本地网络代理/网关干扰请求构造逻辑,导致JSON结构损坏
排查修复步骤

按优先级从高到低依次操作:

  • 升级Install4J到稳定新版本
    10.0.4之前的Install4J版本存在明确的公证API适配bug:对接Apple 2023年底升级的Notary API v2时,会将文件大小字段以字符串类型传入JSON,触发序列化失败。直接升级到10.0.4及以上的正式稳定版,避开beta版本即可修复绝大多数该错误。
  • 校验公证凭据有效性
    检查Install4J公证配置页填写的三项核心凭据:App Store Connect API私钥(.p8文件)、Key ID、Issuer ID:
    • 所有输入字段不要夹带空格、换行、全角字符、emoji,确保没有多余的不可见字符
    • .p8私钥必须是从App Store Connect直接下载的原始文件,不得手动修改文件名、编辑文件内容,下载后不要用文本编辑器打开触发自动保存修改
    • 本地执行命令验证凭据可用性:xcrun notarytool history --key <p8文件绝对路径> --key-id <你的KeyID> --issuer <你的IssuerID>,命令能正常返回历史公证记录即代表凭据本身有效,问题出在Install4J的配置读取环节。
  • 规范dmg文件路径与命名
    把待上传的dmg移动到纯英文、无空格、无特殊字符的短路径下,比如/tmp/notarize/install.dmg,去掉文件名里的中文、特殊符号、emoji,同时确认dmg文件本地可以正常挂载、没有损坏,文件大小不超过Apple公证10GB的单文件上限。
  • 排查网络干扰
    临时关闭本地系统代理、VPN、HTTPS抓包工具、企业内网网关代理,切换到直连公网的网络(比如手机热点)重试,这类会篡改HTTPS请求内容的工具很容易干扰Install4J的请求构造逻辑。
  • 开启调试日志定位具体异常字段
    如果以上操作都无效,将Install4J的构建日志级别调整为DEBUG,重新触发公证流程,在日志中查找HTTP请求体构造的相关输出,定位到值异常的字段后对应修正配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:24:24