【问题标题】:App name in Finder not matching app name in TerminalFinder 中的应用名称与终端中的应用名称不匹配
【发布时间】:2016-10-19 19:34:12
【问题描述】:

在 Finder 中显示为 nwjs.app,但在终端中显示为 nw-demo.app

如果我使用 mv nw-demo.app nw-demo2.app 重命名应用程序,它会在 Finder 中正确显示。如果我随后使用mv nw-demo2.app nw-demo.app 重命名它,它会再次显示为nwjs.app。奇怪。

名称应该是nw-demo.app,这正是我想要的,但它是nwjs.app。我在nw-demo.app/Contents/Info.plist 或任何将其设置为nwjs 的地方都看不到任何东西。这是Info.plist

【问题讨论】:

  • 我认为您在.app/Contents/MacOS 中的可执行文件在某种程度上是负责任的。可执行文件在技术上应该命名为nw-demo 而不是nwjs ...
  • @l'L'l 我已经尝试手动重命名并编辑Info.plist 以引用nw-demo 而不是nwjs,但这似乎没有什么不同。另外,我还有其他使用类似 nwjs 可执行文件的应用程序,它们都很好。

标签: macos plist desktop-application


【解决方案1】:

如果您的 Info.plist 包含 CFBundleDisplayName 键(在屏幕截图中显示为“Bundle display name”)并且其值与磁盘上的应用程序包的名称匹配(减去 .app 扩展名),则启动服务在与用户选择的语言匹配的本地化中搜索应用程序包中的 InfoPlist.strings 文件。如果它找到一个并且具有 CFBundleName 键的本地化,那么它使用该本地化作为包的显示名称。

在向用户显示文件和目录时,Finder、Dock、文件对话框等都使用从启动服务获得的显示名称。

将 Info.plist 值与磁盘上的名称进行比较是为了让用户可以随意重命名应用程序包。如果用户对其进行了重命名,则字符串将不匹配,并且不会尝试本地化用户提供的名称。但是,如果字符串匹配,则表明用户没有重命名它(或已小心地将其重命名为真正的原始值,而不是明显的原始值),因此应用提供的本地化得到尊重。

【讨论】:

  • 非常感谢您的回答!我一直在尝试更改磁盘上的显示名称一段时间,这终于为我解决了。
  • P.S.:选择的本地化显示名称也会影响应用程序在通知中的标题,这是我特别要寻找的。​​span>
【解决方案2】:

我所要做的就是删除nw-demo.app/Contents/Resources/*.lproj。显然这些文件用于国际化并影响显示名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 2013-10-28
    • 2019-12-05
    • 1970-01-01
    • 2018-10-07
    • 2021-02-12
    相关资源
    最近更新 更多