轶哥

妄图改变世界的全栈程序员。

Apple M1 编译原生Electron应用程序

Apple Silicon M1芯片可谓是性能爆炸,开发体验极佳,生态中适配速度也算得上势如破竹。借助Rosetta 2平稳过渡ARM64,实在是高明。在MacOS 11+系统中通过 Apple M1 编译原生M1 Electron应用程序也算得上轻松容易。

理论兼容M1芯片的Electron版本是11.2.3,实测兼容较好的版本是13.0.0-beta.5+

electron-builder需升级至20.10+,建议版本22.10.5+

本地Node.js版本请安装v15.5.0+

MacOS建议升级到11.2.3+

通过electron-builder编译Electron ARM64应用程序,需调整package.json配置文件:

"build": {
    "mac": {
      "target": {
        "target": "dmg",
        "arch": ["arm64", "x64"]
      }
    },
    ......
}

如需签名,安装electron-builder-notarize,参考以下配置:

"build": {
    "appId": "com.xxx.xxx",
    "generateUpdatesFilesForAllChannels": true,
    "afterSign": "electron-builder-notarize",
    "mac": {
      "target": {
        "target": "dmg",
        "arch": ["arm64", "x64"]
      },
      "hardenedRuntime": true,
      "entitlements": "build/entitlements.mac.plist",
      "entitlementsInherit": "build/entitlements.mac.plist"
    },
    ......
}

如需要Electron自动更新功能,请参考视频教程Electron自动编译及自动更新、分发

打赏
交流区(2)
Lee

老哥 有项目地址借鉴一下吗 我现在搭建一个antd+react有些问题

2021年6月18日 11:31回复
轶哥

不好意思,这个架构的没有

2021年6月18日 11:46回复
尚未登陆
发布
  上一篇 (win10共享文件无法访问,保存了错误密码)
下一篇 (Electron 12+ 出现 require is not defined 报错解决)  

评论回复提醒