非常教程

Electron参考手册

autoUpdater

autoUpdater

启用应用程序自动更新自己。

程序:主

autoUpdater模块为Squirrel框架。

您可以使用以下项目之一快速启动多平台发布服务器,以分发应用程序:

  • nuts:使用GitHub作为后端,为您的应用程序提供智能发布服务器。用Squirrel(Mac和Windows)自动更新
  • electron-release-server:一种功能齐全、自托管的电子应用发布服务器,与自动更新程序兼容。
  • squirrel-updates-server:一个用于Squirrel的简单node.js服务器。Mac和Squirrel。使用GitHub发行版的Windows
  • squirrel-release-server:一个用于squirrel的简单PHP应用程序。从文件夹读取更新的窗口。支持增量更新。

平台通知

尽管autoUpdater为不同的平台提供统一的API,每个平台上仍然存在一些细微的差异。

MacOS

在MacOS上,autoUpdater模块是建立在Squirrel.Mac,这意味着你不需要任何特殊的设置来使它工作。对于服务器端的需求,您可以读取服务器支持注意应用程序传输安全(ATS)适用于作为更新过程一部分而发出的所有请求。需要禁用ATS的应用程序可以添加NSAllowsArbitraryLoads他们的应用程序的plist的钥匙。

注:必须对应用程序进行签名,以便在MacOS上进行自动更新。这是Squirrel.Mac的要求。

Windows

在Windows上,您必须将应用程序安装到用户的计算机中,然后才能使用autoUpdater,因此建议您使用电子绞车,电子锻造或者电子安装程序生成Windows安装程序的包。

使用时电子绞车或电子锻造确保您没有尝试更新您的应用程序。它第一次运行(也见这一期获得更多信息)。还建议使用电子松鼠启动为您的应用程序获取桌面快捷方式。

使用Scaprel生成的安装程序将创建一个快捷图标,其中包含应用程序用户模型ID%28https://msdn.microsoft.com/en-us/Library/windows/桌面/dd378459%28V=vs.85%29.aspx%29,格式为com.squirrel.PACKAGE_ID.YOUR_EXE_WITHOUT_DOT_EXE,例如com.squirrel.slack.Slackcom.squirrel.code.Code.您必须在您的应用程序中使用相同的IDapp.setAppUserModelIdAPI,否则Windows将无法正确地将应用程序钉在任务栏中。

不像松鼠。Mac,Windows可以在S3或任何其他静态文件主机上承载更新。你可以读到松鼠。窗了解更多关于松鼠的细节。窗户工作。

linux

Linux上不支持自动更新程序,因此建议使用发行版的包管理器更新应用程序。

事件

autoUpdater对象发出以下事件:

事件:“错误”

返回:

  • error误差在更新时出现错误时发出。事件:“检查更新”检查更新是否已启动时发出。事件:“更新-可用”在有可用更新时发出。更新将自动下载。事件:“更新-无效”在没有可用更新时发出。活动:“更新-下载”返回:
  • event事件
  • releaseNotes
  • releaseName
  • releaseDate日期
  • updateURL

在下载更新时发出。

仅在Windows上releaseName是可用的。

方法

autoUpdater对象具有以下方法:

autoUpdater.setFeedURL(url[, requestHeaders])

  • url
  • requestHeaders对象MacOS%28可选%29-HTTP请求头。

设置url并初始化自动更新程序。

autoUpdater.getFeedURL()

返回String-当前更新提要URL。

autoUpdater.checkForUpdates()

询问服务器是否有更新。你必须打电话setFeedURL在使用此API之前。

autoUpdater.quitAndInstall()

重新启动应用程序,并在下载后安装更新程序。应该只在后面调用update-downloaded已经被释放了。

注:autoUpdater.quitAndInstall()将首先关闭所有应用程序窗口,并仅发出before-quit事件app在那之后。这与正常的退出事件序列不同。

autoUpdater相关

Electron

Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。

主页 https://electron.atom.io/
源码 https://github.com/electron/electron
发布版本 1.7.9

Electron目录

1.指南 | Guides
2.指南·开发 | Guides: Development
3.Webview 组件 |
4.加速器 | Accelerator
5.API
6.API·对象 | API·Objects
7.app
8.autoUpdater
9.浏览器总览 | BrowserView
10.浏览器窗口 | BrowserWindow
11.浏览器窗口代理 | BrowserWindowProxy)
12.ClientRequest
13.剪贴板 | clipboard
14.内容追踪 | contentTracing
15.小型文字档案 | Cookies
16.crashReporter
17.调试器 | Debugger
18.desktopCapturer
19.dialog
20.电子下载 | DownloadItem
21.环境变量 | Environment Variables
22.无框窗口 | Frameless Window
23.globalShortcut
24.IncomingMessage
25.ipcMain
26.IPC渲染器 | ipcRenderer
27.语言环境 | Locales
28.画面 | Menu
29.MenuItem
30.本地图像 | nativeImage
31.net
32.通知 | Notification
33.权限监控 | powerMonitor
34.权限存储拦截器 | powerSaveBlocker
35.处理 | process
36.协议 | protocol
37.远程 | remote
38.sandbox
39.屏幕 | screen
40.会话 | session
41.shell
42.系统表现 | systemPreferences
43.触摸板 | TouchBar
44.触摸板按钮 | TouchBarButton
45.触摸板颜色选择器 | TouchBarColorPicker
46.触摸板组 | TouchBarGroup
47.触摸板标签 | TouchBarLabel
48.触摸板弹出框 | TouchBarPopover
49.触摸板清理 | TouchBarScrubber
50.触摸板分段控制 | TouchBarSegmentedControl
51.触摸板滑块 | TouchBarSlider
52.触摸板间隔 | TouchBarSpacer
53.Tray
54.网页内容 | webContents
55.网页框架 | webFrame
56.网页要求 | WebRequest
57.窗口开启 | window.open