Delphi 11.3.1 FMX应用部署macOS遇签名错误求助
问题解决:Delphi FMX应用部署macOS出现codesign bundle格式错误
恢复步骤
- 回滚构建配置:打开Delphi项目属性,切换回之前能正常部署的构建配置(如原Debug/Release配置),或对比配置备份(若有),将所有修改过的选项还原。
- 清理构建缓存:
- 删除Windows端项目的
Win32/Win64输出目录下的所有文件; - 登录Mac Mini,删除
/Users/davidbaxter/PAServer/scratch-dir/Dave-Mac Build/下的CuePlayerPro.app文件夹; - 重新执行构建与部署操作。
- 删除Windows端项目的
- 验证App Bundle结构:手动检查生成的
CuePlayerPro.app是否符合macOS标准结构,必须包含:
若结构缺失或文件损坏,删除后重新构建。CuePlayerPro.app/ ├─ Contents/ │ ├─ Info.plist │ ├─ MacOS/ │ │ └─ CuePlayerPro(可执行文件) │ └─ Resources/(若有资源文件) - 重置代码签名配置:在项目属性→Deployment→macOS平台设置中,确认签名身份
Developer ID Application: David Baxter (DYVQN6TA94)正确,移除额外添加的签名参数(如不必要的自定义参数),保持默认签名配置。
可能导致问题的配置变更
- 构建目标类型修改:将原本的
Application类型改为Console Application,导致生成的不是标准macOS App Bundle。 - 部署映射规则变更:修改了Deployment中的文件映射路径,导致核心文件(可执行文件、Info.plist)未被正确复制到App Bundle的对应目录(如Contents/MacOS下无主可执行文件)。
- 代码签名参数变更:新增了不兼容的签名参数(如错误添加非必要的
--deep参数,或修改了签名证书为无效/不匹配的证书)。 - 编译器输出配置变更:修改了目标平台的输出目录、优化选项,导致可执行文件损坏或路径混乱,无法组成合法的App Bundle。
- Info.plist配置变更:移除了Info.plist文件,或修改了
CFBundleExecutable等关键字段,导致系统无法识别该bundle为合法应用。
内容的提问来源于stack exchange,提问作者Dgbaxter
相关产品推荐
相关产品推荐

