Electron-Mac應(yīng)用的簽名步驟說明

最近隨著項(xiàng)目功能的逐步完善,準(zhǔn)備發(fā)布正式版本,在發(fā)布正式版本之前,考慮到用戶后續(xù)版本更新的問題,所以要給Electron應(yīng)用添加版本更新的功能。
由于應(yīng)用在Mac端自動更新時需要進(jìn)行身份驗(yàn)證等,所以前提條件就是要先給應(yīng)用進(jìn)行簽名。

當(dāng)然,應(yīng)用不簽名也是可以打包成功的,可以在執(zhí)行打包命令前執(zhí)行:

export CSC_IDENTITY_AUTO_DISCOVERY=false

這樣就可以在打包時跳過簽名步驟。

簽名

制作本地CSR文件

從Mac上進(jìn)入鑰匙串訪問,打開證書助理--->從證書辦法機(jī)構(gòu)請求證書...


image.png

輸入常用郵件,選擇存儲到磁盤,點(diǎn)擊繼續(xù)


image.png

最后會生成一個CSR的文件,這個文件就是我們接下來需要的東西,我把它放到了桌面上


image.png

生成Developer ID Application證書

打開蘋果開發(fā)者網(wǎng)站證書列表

首先點(diǎn)擊Certificates旁的加號


image.png

選擇Developer ID Application類型的證書,注意Electron打包的桌面應(yīng)用必須使用這個證書


image.png

然后開始選擇CSR文件,就是第一步導(dǎo)出的放在了桌面上的那個文件


image.png

導(dǎo)入完畢之后,你就可以看到自己生成證書的信息了,最后點(diǎn)擊下載


image.png

雙擊證書,將生成的證書導(dǎo)入到鑰匙串中


image.png

打開鑰匙串,找到這個證書,右鍵選擇導(dǎo)出


image.png

文件格式選擇個人信息交換(.p12),導(dǎo)出的路徑要記住,后面要使用。
同時導(dǎo)出的時候會提示設(shè)置一個密碼,也可以不設(shè)置。


image.png
image.png

生成Identifiers

點(diǎn)擊Identifiers選項(xiàng),進(jìn)行添加


image.png

選擇App IDs,繼續(xù)


image.png

選擇APP,繼續(xù)


image.png

填寫應(yīng)用描述和BundleId,注意這個BundleId要同package.json中配置的appId要匹配。


image.png

配置環(huán)境變量

配置環(huán)境變量,用以讓electron在打包時能找到剛才的p12證書。

打開Mac終端,輸入命令:

sudo vim ~/.bash_profile

在.bash_profile新增兩行配置:
CSC_LINK:剛才導(dǎo)出的p12文件的絕對路徑
CSC_KEY_PASSWORD:導(dǎo)出p12文件時設(shè)置的密碼

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

編輯完成后:wq保存退出,再執(zhí)行以下命令進(jìn)行重載環(huán)境變量:

source ~/.bash_profile

package.json配置

注意此處的appid應(yīng)該跟上文Identifiers中設(shè)置的BundleId是一致的。
并且打包應(yīng)用后不要隨意更改新的appId字段,否則會被認(rèn)為是兩個不同的應(yīng)用。

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

到這里,簽名配置就完成了,執(zhí)行打包命令后發(fā)現(xiàn)在執(zhí)行步驟中多了一個signing的步驟,說明簽名成功了。


image.png

存在的問題

對于簽名后的APP,經(jīng)過測試,發(fā)現(xiàn)了兩個問題:

  1. 攝像頭、麥克風(fēng)等設(shè)備訪問時會出現(xiàn)崩潰。
    解決方法:Electron應(yīng)用在macOS攝像頭、麥克風(fēng)訪問崩潰問題解決方法

  2. 安裝包安裝失敗。
    解決方法:Electron應(yīng)用在macOS下公證方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容