Windows的自动一般不会有什么问题。
Mac想要自动更新就比较繁琐,且有很多坑点。
自动更新用electron-updater这个插件,网上有很多介绍如何使用,这里就不再一一赘述。
用户首次安装的包必须经过签名且经过公证
安装包签名,网上有很多教程。
这里要注意一点:证书要放到系统中,且只能使用系统默认
生成好DMG文件后,需要手动公证 。
如果用户第一次安装的包是没有经过公证的,自动更新也会失效。
公证方法:
首先得安装xcode,然后用xcode的命令
xcrun altool --notarize-app -f {file} --primary-bundle-id {bundle} -u {user} -p {password}
核心的几个参数:
-f
需要公证的文件的完成路径,例如 user/test/xxx.dmg
--primary-bundle-id
对应 package.json 里的 appId 参数
-u
https://appleid.apple.com/account/manage 页面显示的 Apple ID
-p
https://appleid.apple.com/account/manage 页面显示的 App 专属密码
执行完此命令后
会返回一个UUID供你查询公证进度
xcrun altool --notarization-info {uuid} -u {user} -p {password}
公证完成之后,你账号对应的邮箱会收到一封苹果发给你的邮件,也就是公证结果
注意事项
如果更换过专属密码,则需要重新公证,并且之前的自动更新也没法用
electron-updater 下载缓存目录(Mac):/Users/你的用户名/Library/Application Support/Caches/你的应用名-updater/pending