codecamp

Tauri 签署Tauri应用程序

签名配置是通过环境变量提供给Tauri打包工具的。您需要配置要使用的证书,以及一个可选的身份验证配置来验章应用程序。

证书环境变量

  • APPLE_SIGNING_IDENTITY:这是我们上面强调的签名标识。必须定义它以在本地和CI机器上签署应用程序。
  • 此外,为了简化CI上的代码签名流程,如果您定义了 APPLE_CERTIFICATE 和 APPLE_CERTIFICATE_PASSWORD 环境变量,Tauri可以为您安装证书到钥匙串中。

打开Keychain Access应用程序,登录到 "My Certificates" 并找到您的证书的钥匙串条目。 展开条目,双击密钥项目,并选择 "Export" "$KEYNAME"。 选择要保存 .p12 文件的路径,并定义导出的证书密码。 运行以下终端脚本将 .p12 文件转换为Base64:openssl base64 -in /path/to/certificate.p12 -out certificate-base64.txt。 将 certificate-base64.txt 文件的内容设置为 APPLE_CERTIFICATE 环境变量。 将证书密码设置为 APPLE_CERTIFICATE_PASSWORD 环境变量。

身份验证环境变量 这些变量仅在验章应用程序时才需要。

备注 使用Developer ID Application证书时需要验章。

  • APPLE_ID 和 APPLE_PASSWORD:要使用您的Apple ID进行身份验证,将 APPLE_ID 设置为您的Apple帐户电子邮件(例如:export APPLE_ID=tauri@icloud.com),将 APPLE_PASSWORD 设置为Apple帐户的应用程序专用密码。
  • APPLE_API_ISSUER 和 APPLE_API_KEY:或者,您可以使用App Store Connect API密钥进行身份验证。打开App Store Connect的 "Users and Access" 页面,选择 "Keys" 选项卡,单击 "Add" 按钮,然后选择一个名称和开发者访问权限。APPLE_API_ISSUER(Issuer ID)显示在密钥表的上方,而APPLE_API_KEY 是该表上的Key ID列的值。您还需要下载私钥,这只能在页面重新加载后执行一次,并且只有在新创建的密钥的表行上才能看到(按钮显示在新创建密钥的表行上)。私钥文件必须保存在以下目录之一:./private_keys,~/private_keys,~/.private_keys 或 ~/.appstoreconnect/private_keys,如 xcrun altool --help 命令所述。


Tauri 下载证书
Tauri 构建应用程序
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Tauri 指南

Tauri 特性

Tauri 插件

Tauri 应用程序接口

Tauri JavaScript/TypeScript

Tauri 命令行界面

Tauri 进程

Tauri 参考

Tauri WebView 版本

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }