Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 937|回复: 0

Electron 打包Mac安装包代码签名问题解决方案Could not get code signature for running application

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-5-20 10:41:28 | 显示全部楼层 |阅读模式

    最近一直在做electron应用的打包,集成mac版本的自动更新时出现了问题。 

    Error: Could not get code signature for running application
    

      

    无法获取当前应用的代码签名。

    (首先声明:由于mac的签名机制,npm run dev 是肯定没有签名的,以下所述都需要在npm run build 下打正式包)

     

    百思不得其解,试过了各种办法,研究了N遍官方文档,发现现实和书上写的还是不一样。
    注意到一直是npm run build打包的时候都无法签名成功(由于无法获取开发者认证信息,跳过签名)。

    最后历经九九八十一难(有点小夸张),终于找到了解决方案,下面把过程写下来,以示记录。
    针对上述Mac上打包无法进行正确代码签名的问题,通过设置环境变量和使用xcode进行代码签名可以解决。
    一.设置环境变量CSC_LINK

    sudo vim ~/.bash_profile

    在环境变量中配置

    以上是官网的环境变量配置项,而其实我只配置了CSC_LINK一项,配置如下

     

    设置好环境变量之后用命令

    source ~/.bash_profile

    重载变量文件,使用命令

    env

    查看环境变量配置结果。

    注意:如果配置完成之后,多次重载都发现环境变量不能正确更新到列表中,这时应该先退出终端,然后再登录终端查看环境变量即可看到更新完成。

    二.使用X-code进行mac版本上代码签名:
    1.打开xcode主界面
    2.Xcode==>Preferences…

    3.Accounts==>Apple IDs==>Manage Certificates…
    如果没有登录的话,先登录Apple ID,注意一定要登录开发者账号。登录成功后再进行Manage Certificates;

    4.添加“+”Developer ID Application,注意一定要添加Developer ID Application到钥匙串中,不要选错了。

    5.成功添加到钥匙串我的证书中
    经过以上的步骤可以成功添加一个证书到钥匙串中的我的证书中。

    至此使用Xcode成功添加代码签名到本地钥匙串中的我的证书中。
    三.成功打包经过代码签名的安装包。
    打包正在签名状态:

    正确签名之后,打包成功!

    注意:通过钥匙串的方式进行代码签名,进而实现自动更新之后,appId应一致,打包应用后不能随意更改新的appId字段。否则会被认为是两个不同的应用而无法更新。

     

    四.Mac包正确升级(自动更新)示例

    注意:先把正确签名打包后的高版本MAC安装文件上传服务器,然后本地再打包一个低版本Mac包文件.dmg,安装低版本MAC包,触发自动更新,即可完成升级,自动安装高版本MAC包到本地。

     

    如果这篇文章对你的工作或者学习有帮助的话,请收藏或点个赞。如果对其中有什么不明白的或者报错,可以留言或者加QQ群140455228交流

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-19 16:02 , Processed in 0.062015 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表