公司有个内部桌面软件是基于electron vue写的,前几天负责开发这个客户端的人离职,我就成了临时接档优化的人。作为写vue但第一次接触electron的人,花了几天时间浏览了一下electron、electron vue官方文档、客户端代码的整体架构,即便如此,在优化过程中还是遇到了很多麻烦,项目结束后,特此做了一下总结。
功能测试通过后,开始打包发布,就开始了漫漫填坑之路。
electron打包一般可以通过electron-packager或者electron-builder两种方式实现。我选择了electron-builder打包,在官方文档上表示electron-builder:
A complete solution to package and build a ready for distribution Electron, Proton Native app for macOS, Windows and Linux with “auto update” support out of the box.
(打包构建适用于多种平台,并且支持自动更新)
以下是我其中一部分的配置:
"scripts": {
"build": "node .electron-vue/build.js && electron-builder build",
"build:win": "node .electron-vue/build.js && electron-builder build --windows nsis:x64"
}
"mac": {
"icon": "build/icons/icon.icns",
"target": [
"dmg"
]
},
"win": {
"icon": "build/icons/icon.ico",
"target": [
{
"target": "nsis",
"arch": [
"x64"
]
}
]
},
(1)npm run build进行mac系统环境打包后,报了一个错:
然后我修改了mac的配置:
"mac": {
"icon": "build/icons/icon.icns",
"target": [
"dmg",
"zip"
]
},
再把打包好后的dmg、zip与latest-mac.yml文件放在发布路径下,竟然就不报该错误了。虽然我不是很理解为什么mac系统需要zip file而打包windows系统环境发布文件时候却没有报该错误。
(2)Could not get code signature for running application:
将新版本的安装包放到发布路径下后,老版本的软件弹出“发现新版本,是否需要更新”的弹框提示,当我点更新后,又报了一个错误:
提示需要代码签名,网上有一个如何打包写入代码签名的方法:
sudo vim ~/.bash_profile
写入证书的位置
export CSC_LINK=~/work/development.p12
刷新一下env
source ~/.bash_profile
可以env看一下是否写入成功
当然这个操作成功的重点在于你钥匙串中有开发者证书,关于如何把Apple ID账号里的证书关联到钥匙串里,这里就不多做赘述了。
没有代码签名打包时:
有代码签名打包时:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。