xcode - Xcode 项目名称中的空格,最佳实践是什么?

标签 xcode macos cocoa

我正在创建一个新的 Xcode 项目,名称上会有一个空格,例如“Foo Bar”。我倾向于将其命名为“Foo Bar”,因为这是应用程序的实际名称,因为它出现在顶部菜单、文件系统(“Foo Bar.app”)、命令选项卡等上。但是,我最终具有奇怪的文件夹和目标,例如“Foo BarTest”。

这里的最佳实践是什么?

最佳答案

我使用像“FooBar”这样的单字驼峰命名法来开发:文件名、路径等。对我来说,当偶尔需要编写 shell 脚本或其他东西时,让我的生活变得更轻松是有意义的,因为有无需担心内部空间。当然,“make”实用程序因空格而严重窒息......

但实际上,这是因为我没有看到缺点:无论如何,我的 FooBar.app 的名称都将被本地化,无论是英语还是其他语言,因此该应用程序Finder看起来像“Foo Bar”,在“关于”菜单等中。

因此,对于我来说,在我的所有编码中都是 FooBar,对于用户来说,Foo Bar 无处不在。

<小时/>

如何本地化应用程序的名称:

从新创建的 Xcode Cocoa 应用程序开始,名为“FooBar”。最初,所有内容都是“FooBar”,无处不在:Xcode 变量 ${PRODUCT_NAME} 和 ${EXECUTABLE_NAME},以及 Finder 中构建的应用程序的名称。

现在我们只想更改 Finder 中显示的名称。
正确地说,这无异于本地化。

在应用的 Info.plist 文件中,添加键“CFBundleDisplayName”,并使其值与现有键“CFBundleName”的值相同。

CFBundleName 的初始值为“${PRODUCT_NAME}”,这是一个 Xcode 变量,您只需复制并粘贴即可。或者,您可以将每个键“硬编码”为某个文字字符串,但如果这样做,则还必须更新应用程序“build设置” Pane 中的“产品名称”值。

然后,您需要进行实际的本地化。

如果它尚不存在(可能存在),请创建一个“InfoPlist.strings”本地化文件并将其添加到项目中,该文件位于该文件中(假设英语是“主要”语言),并且是复制到应用程序的 Resources 文件夹中名为“en.lproj”的子文件夹中。

在此文件中,以这种格式添加 Info.plist 文件中出现的相同两个键,并为它们提供您希望应用程序在 Finder 中显示的值:

/* Localized versions of Info.plist keys */
CFBundleName        = "Foo & Bar";
CFBundleDisplayName = "Foo & Bar";

就是这样!就 UNIX 而言,该应用程序现在是“FooBar.app”,但在用户看来,它在 Finder 中显示为“Foo & Bar”。

关于xcode - Xcode 项目名称中的空格,最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28914120/

相关文章:

cocoa - 从 AppDelegate 获取 ManagedObjectContext

ios - void(^)(NSData*) 是什么意思?

ios - 如何通过 uiactivityviewcontroller 共享不同的 url?

ios - 在 didSelectRowAtIndexPath 中调用 pushViewController 时无法显示 UIActivityIndi​​cator

ios - xcode 在运行时报告约束错误 - 但找不到它?

macos - 核心数据软管本身

macos - Bash 命令从远程 url 复制图像

windows - 在带有 BootCamp 的 Mac 中使用 Windows 7 进行开发是否安全/可能?

iphone - 如何停止 objective-c 中的图像移动?

cocoa - 拦截保存在核心数据文档中