前述1
- MacOS 10.15 之前,应用如果没有进行签名,首次打开的时候就会出现“恶意软件”提示。
- 首先你要有一个苹果开发者账号 交完年费的那种
- arm64(M系列芯片) 架构打包需要增加兼容 x86 处理
- 开发者证书慎重申请,Developer ID Application 这个证书申请一个就够了,其他证书可以删除 这个得发邮件给苹果删除
- 申请一个本地证书
- 打开 https://developer.apple.com/account/resources/certificates/list 左侧菜单栏切换到 Certificates
- Identifiers 配置 AppId
- Devices 把下图中三个对勾的写入 第一个选择 macOS 第二个取一个名称 第三个 在关于本机 系统信息 中找;
- 输入 sudo vim ~/.bash_profile 来打开配置文件
- 按 i 进入编辑状态
- 输入变量:CSC_KEY_PASSWORD 密码没有设置可以不填写
- 按 ESC 退出编辑;按 :wq 保存退出
- 刷新环境变量:source ~/.bash_profile
- 输入 env 查看环境变量配置结果
const { defineConfig } = require('@vue/cli-service') const AutoImport = require('unplugin-auto-import/webpack') const Components = require('unplugin-vue-components/webpack') const { ElementPlusResolver } = require('unplugin-vue-components/resolvers') const Icons = require('unplugin-icons/webpack') const IconsResolver = require('unplugin-icons/resolver') const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; module.exports = defineConfig({ transpileDependencies: true, lintOnSave: false, outputDir: "dist/web", configureWebpack: { plugins: [ new BundleAnalyzerPlugin(), AutoImport({ resolvers: [ // 自动导入element-plus组件 ElementPlusResolver(), // 自动导入图标组件 IconsResolver({ prefix: 'Icon' }) ], }), Components({ resolvers: [ // 自动导入element-plus组件 ElementPlusResolver(), // 自动导入图标组件 IconsResolver({ prefix: false, enabledCollections: ['ep'] }) ], }), // 自动导入图标组件 Icons({ autoInstall: true, }) ] }, pluginOptions: { // vue-cli-plugin-electron-builder配置 electronBuilder: { nodeIntegration: true, "buildDependenciesFromSource": true, "nodeGypRebuild": false, "npmRebuild": false, // externals: ['usb'], customFileProtocol: './', externals: ['better-sqlite3'], builderOptions: { // productName: 'xender_electron.exe', artifactName: "${productName}_${version}.${ext}", appId: "com.andou.musixmeta", afterSign: "scripts/notarize.js", publish: [{ "provider": "generic", "channel": "latest", "url": "" //"url": "https://test-file.xendercdn.com/pcd/" //"url": "https://xendergif.web.app/", }], win: { requestedExecutionLevel: "requireAdministrator", icon: "build/electron-icon/icon.ico", // 图标路径 windows系统中icon需要256*256的ico格式图片,更换应用图标亦在此处 target: [{ // 打包成一个独立的 exe 安装程序 target: "nsis", // target: "msi", // 这个意思是打出来32 bit + 64 bit的包,但是要注意:这样打包出来的安装包体积比较大,所以建议直接打32的安装包。 arch: [ "x64" // 'ia32' ], }, ], }, linux: { icon: "build/electron-icon/icon.png", target: "AppImage", }, "dmg": { "sign": false, "contents": [ { "x": 410, "y": 150, "type": "link", "path": "/Applications" }, { "x": 130, "y": 150, "type": "file" } ] }, mac: { hardenedRuntime: true, gatekeeperAssess: false, // entitlements: "entitlements.mac.plist", // entitlementsInherit: "entitlements.mac.plist", icon: 'build/electron-icon/icon.icns', category: 'public.app-category.utilities', // target: ['dmg', 'zip', 'pkg'], // arch: [ // "arm64" // ], target: { target: 'dmg', arch: 'x64' } }, files: ["**/*"], asar: true, nsis: { // 是否一键安装,建议为 false,可以让用户点击下一步、下一步、下一步的形式安装程序,如果为true,当用户双击构建好的程序,自动安装程序并打开,即:一键安装(one-click installer) oneClick: true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。 allowElevation: true, // 允许修改安装目录,建议为 true,是否允许用户改变安装目录,默认是不允许 //allowToChangeInstallationDirectory: true, // 安装图标 installerIcon: "build/electron-icon/icon.ico", // 卸载图标 uninstallerIcon: "build/electron-icon/icon.ico", // 安装时头部图标 installerHeaderIcon: "build/electron-icon/icon.ico", // 创建桌面图标 createDesktopShortcut: true, // 创建开始菜单图标 createStartMenuShortcut: true, }, msi:{ oneClick: false, }, extraResources: { from: 'icons/', to: 'icons/' } }, chainWebpackMainProcess: (config) => { config.plugin("define").tap((args) => { args[0]["IS_ELECTRON"] = true; return args; }); }, chainWebpackRendererProcess: (config) => { config.plugin("define").tap((args) => { args[0]["IS_ELECTRON"] = true; return args; }); }, outputDir: "./dist/electron", mainProcessFile: "src/main/background.js", mainProcessWatch: ["src/main"], }, }, })
参考链接 https://cloud.tencent.com/developer/article/1765152 Electron升级构建适配M1芯片Mac指南 https://juejin.cn/post/7182497884204433467 查看公证结果 https://www.npmjs.com/package/sqlite3 sqlite3 Format 多种编译配置(Format: napi-v{napi_build_version}-{platform}-{libc}-{arch}) https://juejin.cn/post/6844903954527027207 sqlite3 多种编译配置 –arch是cpu的位数 标签:MacOs,false,证书,com,公证,electron,Electron,true,icon From: https://www.cnblogs.com/juexin/p/17352364.html