上一篇文章讲述了 《electron mac 打包、分发流程》,里面介绍了各类型包如何构建,这里再介绍一下如何对 mas 包进行测试。测试方式共分为两种,分别是构建 mas-dev 包,通过文件传输 app 文件,构建 mas 包(.pkg),使用 TestFlight 测试
mas-dev 包测试
在上篇文章中也有讲到如何构建 mas-dev 包,这里再介绍一遍
准备工作
配置
// package.json
{
...
"build": {
"masDev": {
"identity": "xxx (xxxxxxxx)",
"provisioningProfile": "./build-config/mas/MacDevelopment.provisionprofile",
...
},
"mac": {
"target": [
"mas-dev"
]
...
}
}
}
target 必须为 'mas-dev'
identity 可以不配置,electron-builder 在打包的时候会自动寻找证书
provisioningProfile 为构建使用的 profile 文件,包含证书和设备信息
证书
使用 Mac Development 类型的证书,安装到钥匙串中
添加设备
在开发者后台的设备管理中,使用你需要测试机器的 UDID 注册设备;
UDID 可在 “关于本机” -> “更多信息” -> “系统报告” -> “硬件” 中查看
profile 文件
profile 是一个描述文件,需要绑定对应的证书和对应的设备;
在开发者后台新建一个 Development 类型的 profile 文件,绑定对应的证书、设备,下载到本地,相对路径引入即可
构建分发
使用 electron-builder 打包、签名,运行 electron-builder build --mac 构建 mas-dev 包;
最终生成 .app 文件,可以分发测试使用
TestFlight 测试
- 参考上文 《electron mac 打包、分发流程》,构建 mas 正式包,需要注意的是
在 electron-builder 配置中必须配置 entitlementsLoginHelper 选项,并指向一个只包含了“com.apple.security.app-sandbox”权限的plist文件,不然你会在 TestFlight 中看到该版本显示 “尚无法测试”。最终的配置文件:
// package.json
{
...
"build": {
"mas": {
"entitlements": "./build-config/mas/entitlements.mas.plist"
"entitlementsInherit": "./build-config/mas/entitlements.mas.inherit.plist"
"entitlementsLoginHelper": "./build-config/mas/entitlements.mas.loginhelper.plist"
"provisioningProfile": "./build-config/mas/MacAppDis.provisionprofile",
...
},
"mac": {
"target": [
"mas"
]
...
}
}
}
构建成功后,会生成 .pkg 文件,使用 Transporter 工具上传你的应用,并验证提交,到 Testflight 页面中,你可以看到应用的签名进度(通常要等半小时才会出来)
-
随后,你便可以在 TestFlight 页面中配置构建版本和你想要分发的测试员了
image.png
以上就是 electron mac 端 appstore 版本的测试方式,下一篇准备分享 electron 如何分别构建 x64、arm64 和 universal 包