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

PyInstaller打包生成的Mac .app文件实现公证分发的具体步骤是什么

PyInstaller打包Mac应用外部分发完整签名+公证步骤

macOS 10.15及以上系统要求,App Store外部分发的应用必须同时完成开发者ID签名和苹果官方公证,才能跳过安全警告正常运行,你当前仅完成了基础签名,缺少公证步骤,完整操作流程如下:

前置准备

  • 你已有的Developer ID Application证书无需调整,确保在钥匙串「我的证书」中可以正常显示
  • 安装Xcode命令行工具(无需安装完整Xcode),终端执行命令:
    xcode-select --install
  • 安装完成后同意工具协议,终端执行:
    sudo xcodebuild -license accept
  • 登录你的苹果开发者账号管理页面,生成应用专用密码,妥善保存备用

步骤1:修正Info.plist配置

打开determinant_calculator.app/Contents/Info.plist,修改以下字段:

  • 将CFBundleIdentifier的值从默认的org.pythonmac.unspecified.determinant_calculator修改为你专属的唯一标识,例如com.paulf.determinantcalculator
  • 可按需修改CFBundleShortVersionString、CFBundleVersion的版本号,以及NSHumanReadableCopyright的版权信息

步骤2:执行符合公证要求的应用签名

你之前的签名命令缺少强制参数,需要使用带运行时保护的签名命令,终端执行:
codesign --deep --force --verify --verbose --sign "Developer ID Application: PaulF (47A67S7RBW)" --options runtime determinant_calculator.app
签名完成后验证签名有效性:
codesign -vvv --deep --strict determinant_calculator.app
命令无报错返回即为签名成功

步骤3:打包应用为ZIP格式

不要使用系统右键压缩功能,会破坏签名结构,使用命令行打包:
ditto -c -k --sequesterRsrc --keepParent determinant_calculator.app determinant_calculator.zip

步骤4:提交苹果官方公证

终端执行公证提交命令,替换对应参数:
xcrun notarytool submit determinant_calculator.zip --apple-id 你的苹果开发者账号邮箱 --password 之前生成的应用专用密码 --team-id 47A67S7RBW --wait
命令执行等待数分钟后会返回结果:

  • 结果为Accepted则公证通过
  • 结果为Invalid可执行日志查询命令排查错误:xcrun notarytool log 你请求结果里的请求ID --apple-id 你的苹果开发者账号邮箱 --password 应用专用密码 --team-id 47A67S7RBW

步骤5:给应用绑定公证票

公证通过后,需要将公证凭证绑定到应用上,终端执行:
xcrun stapler staple determinant_calculator.app
验证绑定成功:
xcrun stapler validate determinant_calculator.app

最终有效性校验

执行Gatekeeper校验命令:
spctl --assess --verbose=4 --type execute determinant_calculator.app
返回accepted即为所有流程完成,此时再压缩分发到其他Mac设备,即可正常打开无安全警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:48:04