1

我正在使用electron-forge,并且我的应用程序构建、捆绑和运行良好,所以我处于自定义和优化状态(设置应用程序图标、名称等)。

我能够设置.app包名称,以及显示在顶级菜单中的名称,但由于某种原因,该package.json name字段仍在两个区域中应用(见下图)。我打开应用程序包查看Info.plist,但没有看到'omni-desktop-test'.

我缺少什么设置来定位这些值?

示例问题

我的伪造配置的相关部分:

packagerConfig: {
    name: 'Keystone Omni',
    productName: 'Keystone Omni',
    executableName: 'Keystone Omni Desktop',
    icon: 'assets/app.icns',
    appBundleId: 'com.xxxxxxx.omni',
    appCategoryType: 'public.app-category.developer-tools',
    extendInfo: 'static/info.plist',
}
4

2 回答 2

2

在您的电子Main.js文件中,用于app.setName更改您的应用程序的名称:

app.setName('Keystone Omni');
于 2020-06-19T23:05:45.470 回答
1

在测试并尝试向 提交错误报告时electron-forge,我发现了以下内容:

  1. 这里productName提到的:https ://electron.github.io/electron-packager/master/interfaces/electronpackager.options.html#name旨在位于package.json文件中,而不是在electron-packager配置中。我之前没有在 package.json 中看到“productName”作为值。

应用程序名称。如果省略,它将使用最近的 package.json 中的'productName''name'值。

  1. 即使您在配置中设置了“名称”electron-packager,它仍然会读取问题区域中的文本package.json的“产品名称值(或“名称”值,如果未定义)。

所以答案是,如果你想在捆绑器级别设置这个:

使用packager config 中的'name'设置顶级显示名称,并在 the 中使用'productName'(或'name'作为后备)package.json设置子菜单的关于、隐藏、退出等项目。

于 2020-06-19T23:13:31.733 回答