Почему имя приложения, отображаемое в меню «О программе», отличается от имени приложения? (Электрон, MacOS)? - PullRequest
0 голосов
/ 19 июня 2020

Я использую electron-forge, и мое приложение собирает, объединяет и работает нормально, поэтому я нахожусь в состоянии настройки и политики sh (установите значок приложения, имя и т.д. c).

Мне удалось установить имя пакета .app и имя, отображаемое в меню верхнего уровня, но по какой-то причине поле package.json name все еще применяется в двух областях (см. Изображение ниже). Я открыл пакет приложений, чтобы посмотреть на Info.plist, но не увидел экземпляров 'omni-desktop-test'.

Какой параметр мне не хватает для нацеливания на эти значения?

Example issue

Соответствующая часть моей конфигурации кузницы:

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',
}

Ответы [ 2 ]

1 голос
/ 20 июня 2020

Во время тестирования и попытки отправить отчет об ошибке на electron-forge, я обнаружил следующее:

  1. productName, о котором идет речь: https://electron.github.io/electron-packager/master/interfaces/electronpackager.options.html#name должен находиться в файле package.json, а не в конфигурации electron-packager. Я не видел 'productName' как значение в пакете. json раньше.

Имя приложения. Если опущено, будет использоваться значение 'productName' или 'name' из ближайшего пакета. json.

Даже если вы установите 'name' в конфигурации electron-packager, он все равно будет читать package.json 's ' productName ' value (или ' name ' значение, если не определено), для текста в проблемных областях.

Итак, если вы хотите установить это значение на уровне сборщика:

Используйте 'name' в конфигурации упаковщика, чтобы установить отображаемое имя верхнего уровня, и 'productName' (или 'name' в качестве запасного варианта) в package.json, чтобы установить подменю о, скрыть, выйти и т. д. c элементы.

1 голос
/ 20 июня 2020

В электронном файле Main.js используйте app.setName, чтобы изменить имя вашего приложения:

app.setName('Keystone Omni');
...