电子自动更新失败-“服务器发送了无效响应”

时间:2019-08-12 14:57:31

标签: electron auto-update

我无法使用内置的autoUpdater模块使我们的代码签名的Mac Electron应用自动更新(我知道有替代方法,但该指令是尽可能使用标准的)。

根据电子文档:

  

在macOS上,autoUpdater模块基于Squirrel.Mac构建,这意味着您无需任何特殊设置即可使其工作。

根据Squirrel.Mac文档:

  

当有可用更新时,Squirrel期望以下模式响应提供的更新请求:

     

{       “ url”:“ https://mycompany.example.com/myapp/releases/myrelease”,       “ name”:“我的发行名称”,       “ notes”:“这些是一些发行说明,”       “ pub_date”:“ 2013-09-18T12:29:53 + 01:00”   }

     

唯一需要的键是“ url”,其他是可选的。

我有一个Lambda函数,该函数返回符合上述模式的200状态JSON响应:

{
  "name": "3.2.10",
  "upgradeStatus": "minor",
  "url": "https://s3.amazonaws.com/somebucket/product/staging/installers/latest/My%20Product%20Name.zip"
}

然后,我使用autoUpdater.setFeedURL(http://api.mycompany/updatechecker/productname/latest?v=1.0.0)尝试进行更新,但是由于Error: Update check failed. The server sent an invalid response. Try again later.似乎来自SQRLUpdater.m而失败。

在浏览器中访问返回的URL会下载包含安装程序的ZIP文件,那么Electron为什么会抱怨?

0 个答案:

没有答案