美文网首页前端开发
Electron-Mac应用的签名步骤说明

Electron-Mac应用的签名步骤说明

作者: Tony_Yang | 来源:发表于2021-01-02 00:21 被阅读0次

    最近随着项目功能的逐步完善,准备发布正式版本,在发布正式版本之前,考虑到用户后续版本更新的问题,所以要给Electron应用添加版本更新的功能。
    由于应用在Mac端自动更新时需要进行身份验证等,所以前提条件就是要先给应用进行签名。

    当然,应用不签名也是可以打包成功的,可以在执行打包命令前执行:

    export CSC_IDENTITY_AUTO_DISCOVERY=false
    

    这样就可以在打包时跳过签名步骤。

    签名

    制作本地CSR文件

    从Mac上进入钥匙串访问,打开证书助理--->从证书办法机构请求证书...


    image.png

    输入常用邮件,选择存储到磁盘,点击继续


    image.png

    最后会生成一个CSR的文件,这个文件就是我们接下来需要的东西,我把它放到了桌面上


    image.png

    生成Developer ID Application证书

    打开苹果开发者网站证书列表

    首先点击Certificates旁的加号


    image.png

    选择Developer ID Application类型的证书,注意Electron打包的桌面应用必须使用这个证书


    image.png

    然后开始选择CSR文件,就是第一步导出的放在了桌面上的那个文件


    image.png

    导入完毕之后,你就可以看到自己生成证书的信息了,最后点击下载


    image.png

    双击证书,将生成的证书导入到钥匙串中


    image.png

    打开钥匙串,找到这个证书,右键选择导出


    image.png

    文件格式选择个人信息交换(.p12),导出的路径要记住,后面要使用。
    同时导出的时候会提示设置一个密码,也可以不设置。


    image.png image.png

    生成Identifiers

    点击Identifiers选项,进行添加


    image.png

    选择App IDs,继续


    image.png

    选择APP,继续


    image.png

    填写应用描述和BundleId,注意这个BundleId要同package.json中配置的appId要匹配。


    image.png

    配置环境变量

    配置环境变量,用以让electron在打包时能找到刚才的p12证书。

    打开Mac终端,输入命令:

    sudo vim ~/.bash_profile
    

    在.bash_profile新增两行配置:
    CSC_LINK:刚才导出的p12文件的绝对路径
    CSC_KEY_PASSWORD:导出p12文件时设置的密码

    export CSC_LINK=/Users/ylp/Desktop/developerID_application.p12
    export CSC_KEY_PASSWORD=123456
    

    编辑完成后:wq保存退出,再执行以下命令进行重载环境变量:

    source ~/.bash_profile
    

    package.json配置

    注意此处的appid应该跟上文Identifiers中设置的BundleId是一致的。
    并且打包应用后不要随意更改新的appId字段,否则会被认为是两个不同的应用。

    "build": {
        "appId": "com.xxx.yyy",
      },
    

    到这里,签名配置就完成了,执行打包命令后发现在执行步骤中多了一个signing的步骤,说明签名成功了。


    image.png

    存在的问题

    对于签名后的APP,经过测试,发现了两个问题:

    1. 摄像头、麦克风等设备访问时会出现崩溃。
      解决方法:Electron应用在macOS摄像头、麦克风访问崩溃问题解决方法

    2. 安装包安装失败。
      解决方法:Electron应用在macOS下公证方法

    相关文章

      网友评论

        本文标题:Electron-Mac应用的签名步骤说明

        本文链接:https://www.haomeiwen.com/subject/iylkmktx.html