👏
Electron Macの自動アップデート機能を自己署名で試す
ElectronのautoUpdate機能を使うとき、Macは署名が必要になります。
署名をしないと自動アップデートをしてもエラーになります。
Error: Error: Could not get code signature for running application
どうやら有料のApple Developer Programに登録しないといけないみたいです。
(検索上位の記事にはだいたいそう書いてあります)
とはいえ技術検証で手元で試したいだけなのに1万円は払えないですよね・・
ただelectron-builderの実行ログを良く見るとね、or custom non-Apple code signing certificate
とあるんですよね・・
skipped macOS application code signing reason=cannot find valid "Developer ID Application" identity or custom non-Apple code signing certificate, see https://electron.build/code-signing allIdentities=
ということで自己署名で試してみました。
証明書を発行する。
キーチェーン → 証明書アシスタント → 証明書を作成から自己署名証明書を発行する。。
証明書を信頼する必要があります。
security
コマンドで確認します。
$ security find-identity -v -p codesigning
1) XXXXXXXXXXXXXXXXXX "TEST_SELF_SIGN"
1 valid identities found
electron-osx-signとかも内部でこのコマンドを実行しています。
署名をする
Electron builderを使っている場合は
CSC_LINKを指定してビルドすると良さそうです。
export CSC_LINK=TEST_SELF_SIGN
$ electron-builder --mac --x64
• electron-builder version=22.10.4 os=18.7.0
...
• signing file=dist/mac/example.app identityName=TEST_SELF_SIGN identityHash=XXXXXXXXXXXXX provisioningProfile=none
無事に自己署名証明書でも自動アップデートを試すことができました。
お片づけ。キーチェンから削除もできるけど、せっかくなのでsecurityコマンドを試す。
(GUIで消すのと変わらないです)
security delete-identity -c TEST_SELF_SIGN
Discussion