【问题标题】:Why is the app name displayed in "about" Menu different than App name? (Electron, MacOS)?为什么“关于”菜单中显示的应用名称与应用名称不同? (电子,MacOS)?
【发布时间】:2020-10-09 03:53:55
【问题描述】:

我正在使用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',
}

【问题讨论】:

    标签: macos electron info.plist electron-forge


    【解决方案1】:

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

    app.setName('Keystone Omni');
    

    【讨论】:

    • 经过测试,这确实有效,但我希望能够在构建时设置它,而不是运行时。
    【解决方案2】:

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

    1. 此处提到的productNamehttps://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 配置中设置了'name',它仍然会读取package.json'productName' 值(或 'name' 值,如果未定义),用于问题区域中的文本。

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

    在打包程序配置中使用 'name' 来设置顶级显示名称,以及 'productName'(或 'name'作为后备)在package.json 中设置子菜单关于、隐藏、退出等项目。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 2011-11-03
    相关资源
    最近更新 更多