我正在创建一个新的Xcode项目,名称上会有一个空格,比如“Foo Bar”。我倾向于将其命名为“Foo Bar”,因为它是应用程序的实际名称,因为它显示在顶部菜单,文件系统(“Foo Bar.app”),命令选项卡等。但是,然后,我最终奇怪的文件夹和目标,如“Foo BarTest”。
这里的最佳做法是什么?
答案 0 :(得分:6)
我使用了一个单词camelCase,比如" FooBar"开发:文件名,路径等。对于我来说,当需要编写偶尔的shell脚本或其他东西时,让我的生活变得更容易是有意义的,因为不需要担心内部空间。当然,' make'实用工具在空间上可怕地窒息......
但实际上,这是因为我没有看到缺点:我的FooBar.app的名称将无论如何本地化,英语以及其他任何其他名称语言,所以Finder 中的应用程序看起来像<#34; Foo Bar&#34;,以及关于菜单等
所以我的所有编码都是FooBar,Foo Bar到处都是用户。
如何本地化您的应用名称:
从新创建的Xcode Cocoa应用程序开始,名为&#34; FooBar&#34;。最初,所有内容都是&#34; FooBar&#34;,无处不在:Xcode变量$ {PRODUCT_NAME}和$ {EXECUTABLE_NAME},以及您在Finder中构建的应用的名称。
现在我们只想 更改Finder中显示的名称 恰当地说,这不仅仅是本地化。
在应用的Info.plist文件中,添加密钥&#34; CFBundleDisplayName&#34;,并使其值与现有密钥的值相同&#34; CFBundleName&#34;。< / p>
CFBundleName的初始值为&#34; $ {PRODUCT_NAME}&#34;,一个Xcode变量,您只需复制&amp;贴那个。或者你可以&#34;硬编码&#34;某些文字字符串的每个键,但如果你这样做,那么你还必须更新&#34;产品名称&#34; &#34;构建设置&#34;中的值应用程序窗格。
然后,您需要进行实际的本地化。
如果它不存在(可能确实存在),请创建一个&#34; InfoPlist.strings&#34;本地化文件,id est(假设英语为&#34; main&#34;语言)驻留的文件并将其复制到名为&#34; en的子文件夹中的应用程序资源文件夹中。 lproj&#34;
在此文件中,以此格式添加Info.plist文件中显示的相同两个键,为其提供您希望应用程序在Finder中显示的值:
/* Localized versions of Info.plist keys */
CFBundleName = "Foo & Bar";
CFBundleDisplayName = "Foo & Bar";
那就是它!该应用程序现在是#34; FooBar.app&#34;就UNIX而言,它对用户来说似乎是&#34; Foo&amp; BAR&#34;在Finder中。
答案 1 :(得分:2)
我在Xcode项目名称中停止使用空格。
在某些情况下(*)您必须将模块导入单元测试模块,因此在Swift中您最终会编写
import Foo Bar
在你的Foo BarTest模块中,这是Swift编译器不喜欢的东西。
(*)当您使用核心数据并且希望在单元测试中使用核心数据模型和类时,这至少是必需的。
答案 2 :(得分:0)
唯一的&#34;最佳做法&#34;用于命名您的项目是使用常识。最好将项目名称与它将生成的结果应用名称相匹配,反之亦然。
我更喜欢一个单词的名字 - 而且简短,特别是如果它是一个CLI
相关的项目。显然,这并非如此,所以将其命名为最适合您。