我正在创建一个新的 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/