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