无需Xcode在macOS中签名Rust开发的.app包并分发
无需Swift封装/Xcode的Mac应用外部分发步骤(基于Rust打包的Bundle)
1. 准备开发者签名证书
- 登录Apple开发者后台,申请「Developer ID Application」证书(用于非App Store分发的应用签名)
- 下载证书并导入本地「钥匙串访问」
2. 直接签名Rust打包的Bundle
- 打开终端,定位到你的App Bundle目录(示例路径:
./MyRustApp.app) - 执行签名命令(替换成你的开发者证书名称):
codesign --deep --force --sign "Developer ID Application: 你的开发者名称 (团队ID)" ./MyRustApp.app - 验证签名有效性:
codesign -dv --verbose=4 ./MyRustApp.app
3. 手动完成应用公证(无需Xcode)
- 先将签名后的Bundle打包为zip:
ditto -c -k --sequesterRsrc --keepParent ./MyRustApp.app ./MyRustApp.zip - 安装Xcode命令行工具(若未安装):
xcode-select --install - 提交公证申请(替换成你的Apple ID、专用密码和Bundle ID):
xcrun altool --notarize-app --primary-bundle-id "com.yourdomain.MyRustApp" --username "你的Apple ID" --password "App专用密码" --file ./MyRustApp.zip - 查询公证状态(替换成命令返回的Request UUID):
xcrun altool --notarization-info "你的Request UUID" --username "你的Apple ID" --password "App专用密码" - 公证通过后,给Bundle加盖公证戳:
xcrun stapler staple ./MyRustApp.app - 验证公证结果:
spctl -a -vvv -t install ./MyRustApp.app
4. 分发应用
- 将处理完成的App打包为dmg镜像(方便用户下载安装):
hdiutil create -volname "MyRustApp" -srcfolder ./MyRustApp.app -ov -format UDZO ./MyRustApp.dmg - 通过自有官网、网盘等渠道分发dmg或zip包
内容的提问来源于stack exchange,提问作者NaN
相关产品推荐
相关产品推荐

