Finder 中的应用名称与终端中的应用名称不匹配

Ada*_*nch 1 macos desktop-application plist

nwjs.app在 Findernw-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

plist 截图

Ken*_*ses 6

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

Finder、Dock、文件对话框等在向用户呈现文件和目录时都使用从 Launch Services 获得的显示名称。

将 Info.plist 值与磁盘上的名称进行比较是为了允许用户根据自己的喜好重命名应用程序包。如果用户对其进行了重命名,则字符串将不匹配,并且不会尝试本地化用户提供的名称。但是,如果字符串确实匹配,则表明用户尚未对其进行重命名(或已小心地将其重命名回真实的原始值,而不是明显的原始值),因此应用程序提供的本地化受到尊重。