更改没有单独笔尖的“精简模式应用程序”的 OSX/Cocoa 应用程序菜单名称

Posted

技术标签:

【中文标题】更改没有单独笔尖的“精简模式应用程序”的 OSX/Cocoa 应用程序菜单名称【英文标题】:Changing an OSX/Cocoa apps menu name for a "lite mode app" without a seperate nib 【发布时间】:2013-07-22 22:40:01 【问题描述】:

我在应用商店中有我的应用版本,我现在正试图让精简模式被接受。精简版被拒绝,因为应用程序的菜单被称为“Appname”而不是“Appname Lite”,因此它与应用商店中的名称不匹配。

我使用 nib 文件定义我的菜单,对于完整版和精简版,该文件需要完全相同,除了精简版中应用程序菜单的名称应该不同。在这种情况下,创建一个单独的 .nib 文件似乎是一个错误,那么如何在不复制 nib 的情况下更改 lite 版本的菜单?

【问题讨论】:

【参考方案1】:

在 Info.plist 中设置您的应用程序包名称。您可以在I have many names 中亲自看到这一点,它在应用程序名称出现的每个地方都有不同的名称:

应用程序菜单项 应用程序菜单(菜单项的子菜单) 可执行文件的文件名 CFBundleName CFBundleDisplayName

CFBundleName 是应用程序菜单项的标题及其在运行时的菜单。

…在精简版中应用菜单的名称应该不同。

打开“预处理 Info.plist 文件”构建设置,将 CFBundleName 设置为宏,并在每个目标的“预处理器宏”构建设置中将该宏定义为应出现在应用程序菜单上的名称。

或者,更好的是:有两个 InfoPlist.strings 文件(每种语言),每个文件相应地定义 CFBundleName。 (奖励:然后,您可以根据需要本地化单词“Lite”或“Pro”或您正在使用的任何符号。)每个都应该在其文件夹中(因为它们必须具有相同的文件名),并且每个目标都应该在其 Copy Bundle Resources 阶段具有这两个文件之一。

【讨论】:

以上是关于更改没有单独笔尖的“精简模式应用程序”的 OSX/Cocoa 应用程序菜单名称的主要内容,如果未能解决你的问题,请参考以下文章

从单独的笔尖显示 NSWindow(非模态)

来自 NSString 的 UITableViewCell 笔尖

Xcode:无法更改主笔尖文件

从其他视图控制器更改 UIView(笔尖内)背景

在没有 fsevent 的情况下监视 OSX 中的目录更改

单击由笔尖制成的自定义表格单元格中的更改图像