Gla*_*eep 12 javascript macos electron
我正在为Mac OS X开发一个Electron应用程序.我试图在本地开发之前.app测试它的自动更新功能,然后将其捆绑为.
我有一个构建的应用程序的初始版本Foo.app,以及使用该模块.dmg和用作更新.我托管了这些文件.我已经验证他们安装并正确运行.我有一个在本地运行的Squirrel服务器,它将返回指向该服务器的正确JSON有效负载..zipelectron-builder.zip
为了在本地开发我的应用程序,我使用Webpack来转换我的Web资产,并使用electron@1.4.4在Electron中启动这些资产.换句话说,在本地开发时,我不会发布捆绑的.app; 我正在启动一个开发服务器并在Electron中提供这些资产.该过程类似于运行$ electron ..
在此行调用自动更新挂钩时会发生此问题:
autoUpdater.setFeedURL(feedURL)
Run Code Online (Sandbox Code Playgroud)
此行引发电子错误,表示:
"Could not get code signature for running application."
Run Code Online (Sandbox Code Playgroud)
好的,所以我进行搜索,看到有一些指南可以解释如何对应用程序进行编码签名:
但是,这些表明我应该编码签名.app.正如我所说,我试图测试自动更新,然后将其捆绑为.app.我不想一次又一次地重建,直到我自动更新正常工作.
所以我做了另一个搜索,看到有几个论坛问题与我要求的或多或少相同:
我无法通过挖掘这些线程来解决问题.我希望有人可以在捆绑之前给我一个明确的解决方案来签署Electron应用程序.
对于答案,我希望得到所有这些答案的明确答案:
.app?即,我将推出的文件$ electron .?远射,我还没有验证这一点。
Squirrel.Mac 检查当前运行的应用程序的签名[ 1 ],这是AppName.app/Contents/MacOS/AppName运行打包应用程序时的可执行文件。这基本上是一个重命名的电子可执行文件。
但是当您运行时,electron .它将运行您node/bin目录中的可执行文件。Electron 默认情况下未签名,因此如果您对其进行签名,自动更新程序可能会成功完成证书检查。
所以基本上:
which electroncodesign -s "Developer ID Application: YourCompanyName" electroncodesign -dvvv electron希望这能减少它。