摘要:最近一直在做應用的打包,集成版本的自動更新時出現(xiàn)了問題。針對上述上打包無法進行正確代碼簽名的問題,通過設置環(huán)境變量和使用進行代碼簽名可以解決。
最近一直在做electron應用的打包,集成mac版本的自動更新時出現(xiàn)了問題。
具體打包流程請參考:Electron 桌面應用打包(npm run build)簡述(windows + mac)
Electron應用集成自動更新功能可參考:Electron應用使用electron-builder配合electron-updater實現(xiàn)自動更新
Error: Could not get code signature for running application
無法獲取當前應用的代碼簽名。
(首先聲明:由于mac的簽名機制,npm run dev 是肯定沒有簽名的,以下所述都需要在npm run build 下打正式包)
百思不得其解,試過了各種辦法,研究了N遍官方文檔,發(fā)現(xiàn)現(xiàn)實和書上寫的還是不一樣。
注意到一直是npm run build打包的時候都無法簽名成功(由于無法獲取開發(fā)者認證信息,跳過簽名)。
最后歷經(jīng)九九八十一難(有點小夸張),終于找到了解決方案,下面把過程寫下來,以示記錄。
針對上述Mac上打包無法進行正確代碼簽名的問題,通過設置環(huán)境變量和使用xcode進行代碼簽名可以解決。
一.設置環(huán)境變量CSC_LINK
sudo vim ~/.bash_profile
在環(huán)境變量中配置
以上是官網(wǎng)的環(huán)境變量配置項,而其實我只配置了CSC_LINK一項,配置如下
設置好環(huán)境變量之后用命令
source ~/.bash_profile
重載變量文件,使用命令
env
查看環(huán)境變量配置結果
注意:如果配置完成之后,多次重載都發(fā)現(xiàn)環(huán)境變量不能正確更新到列表中,這時應該先退出終端,然后再登錄終端查看環(huán)境變量即可看到更新完成。
二.使用X-code進行mac版本上代碼簽名:
1.打開xcode主界面
2.Xcode==>Preferences…
3.Accounts==>Apple IDs==>Manage Certificates…
如果沒有登錄的話,先登錄Apple ID,注意一定要登錄開發(fā)者賬號。登錄成功后再進行Manage Certificates;
4.添加“+”Developer ID Application,注意一定要添加Developer ID Application到鑰匙串中,不要選錯了。
5.成功添加到鑰匙串我的證書中
經(jīng)過以上的步驟可以成功添加一個證書到鑰匙串中的我的證書中。
至此使用Xcode成功添加代碼簽名到本地鑰匙串中的我的證書中。
三.成功打包經(jīng)過代碼簽名的安裝包。
打包正在簽名狀態(tài):
正確簽名之后,打包成功!
注意:通過鑰匙串的方式進行代碼簽名,進而實現(xiàn)自動更新之后,appId應一致,打包應用后不能隨意更改新的appId字段。否則會被認為是兩個不同的應用而無法更新。
四.Mac包正確升級(自動更新)示例
注意:先把正確簽名打包后的高版本MAC安裝文件上傳服務器,然后本地再打包一個低版本Mac包文件.dmg,安裝低版本MAC包,觸發(fā)自動更新,即可完成升級,自動安裝高版本MAC包到本地。
如果這篇文章對你的工作或者學習有幫助的話,請收藏或點個贊。如果對其中有什么不明白的或者報錯,可以留言或者加QQ群140455228交流。
注意:請支持原創(chuàng),本文謝絕轉(zhuǎn)載,確有需要可鏈接到本文。本文鏈接地址:https://segmentfault.com/a/11...
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/92588.html
摘要:三配置環(huán)節(jié)目的一是為之后的環(huán)節(jié)初始化工作流參數(shù),二是準備好應用文件夾內(nèi)容即要打包的目標文件夾做的事解析命令行參數(shù),初始化工作參數(shù),填充配置文件,把配置文件和相關依賴文件導入到文件夾內(nèi)合適的 首發(fā)于酷家樂前端博客,作者@摘星(segmentfault @StinsonZhao) 我們能從很多地方學習到怎么起一個 Electron 項目,有些還會介紹怎么打包或構建你的代碼,但距離「真正地...
摘要:前言本文主要介紹如何通過及兩種方式,將已有的應用打包成格式和可執(zhí)行文件。導致了在打包的過程中非常慢。由于是初次接觸,如讀者在文中發(fā)現(xiàn)錯誤,請及時指正。 前言 showImg(https://segmentfault.com/img/bV6zNn?w=1319&h=594); 本文主要介紹如何通過electron-packager及electron-builder兩種方式,將已有的ele...
摘要:導致下載流程受阻問題中使用到子進程的時候,是把子進程當作一個外部依賴來做的,打包后并不會將子進程的代碼打進到包中,需要額外進行配置。子進程中用的第三方包都需要在中進行配置。 在公司開發(fā)的下載器過程中,遇到的一些坑點 1.electron中彈窗的確認取消以及系統(tǒng)自帶的叉號之間的關系 場景:在用戶退出app時,需要提示用戶是否確認退出,此時彈窗出現(xiàn),如果點擊確認就繼續(xù)退出,執(zhí)行回調(diào),否則的...
摘要:在開發(fā)環(huán)境下,我是將獲取的字體文件遠程地址寫進,這樣解決了問題。 github地址 原文地址: http://wushaobin.top/2017/08/... 本地安裝環(huán)境準備 安裝node: * https://nodejs.org/en/download/ 配置webpack: npm install -g webpack(sudo權限) windows配置cnpm: ...
摘要:本文主要介紹應用如何打包成和文件。添加監(jiān)聽并生成快捷方式安裝卸載運行步驟和重新打包此時,再次運行進行安裝,就會自動再桌面和開始菜單生成快捷方式了。 本文主要介紹Electron應用如何打包成msi和exe文件。由于介紹Electron打包成msi和exe的文章很少,官方的文檔也一筆帶過,在研究的過程中踩了很多坑,所以寫下此文,給其他人一個參考。關于Electron基礎知識的文章,官方文...
閱讀 1852·2021-11-15 11:37
閱讀 3198·2021-11-04 16:05
閱讀 1986·2021-10-27 14:18
閱讀 2808·2021-08-12 13:30
閱讀 2542·2019-08-29 14:18
閱讀 2154·2019-08-29 13:07
閱讀 2106·2019-08-27 10:54
閱讀 2782·2019-08-26 12:15