Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Finder中的应用程序名称与终端中的应用程序名称不匹配_Macos_Plist_Desktop Application - Fatal编程技术网

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

Macos Finder中的应用程序名称与终端中的应用程序名称不匹配,macos,plist,desktop-application,Macos,Plist,Desktop Application,在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的地方都没有看到任何内容。

在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:


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

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

如果您的Info.plist包含屏幕截图中显示为Bundle display name的键,并且其值与磁盘上应用程序包的名称减去.app扩展名匹配,然后,Launch Services在应用程序包中搜索与用户所选语言匹配的本地化中的InfoPlist.strings文件。如果它找到一个具有CbundLename键的本地化,那么它将使用该本地化作为捆绑包的显示名称

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


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

如果您的Info.plist包含屏幕截图中显示为Bundle display name的键,并且如果其值与磁盘上应用程序Bundle的名称减去.app扩展名相匹配,然后,Launch Services在应用程序包中搜索与用户所选语言匹配的本地化中的InfoPlist.strings文件。如果它找到一个具有CbundLename键的本地化,那么它将使用该本地化作为捆绑包的显示名称

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


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

我认为您在.app/Contents/MacOS中的可执行文件在某种程度上负有责任。从技术上讲,可执行文件应该命名为nw demo而不是nwjs…@l'l我已经尝试手动重命名它,并编辑Info.plist以引用nw demo而不是nwjs,但这似乎没有什么区别。另外,我还有其他应用程序使用类似的nwjs可执行文件,它们很好。我认为你在.app/Contents/MacOS中的可执行文件在某种程度上是有责任的。从技术上讲,可执行文件应该命名为nw demo而不是nwjs…@l'l我已经尝试手动重命名它,并编辑Info.plist以引用nw demo而不是nwjs,但这似乎没有什么区别。另外,我还有其他应用程序使用类似nwjs的可执行文件,它们很好。非常感谢您的回答!我已经尝试更改磁盘上的显示名称一段时间了,这最终为我解决了问题。注意:选择的本地化显示名称也会影响通知中应用程序的标题,这是我特别想要的。非常感谢您的回答!我尝试更改磁盘上的显示名称已有一段时间了,这最终为我解决了问题。注意:选择的本地化显示名称也会影响应用程序在通知中的标题,这正是我特别想要的。