在每个项目的Xcode中定义__MyCompanyName__?

我已经看到了如何通过一个terminal命令来定义全局的XCode头部注释中显示的__MyCompanyName__macros值:

 defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "My Company";}' 

但是,我在多个公司名称下工作,并希望根据我正在进行的项目来切换这个简单方法。 我意识到我可以只写一个简单的shell脚本来做到这一点,但是我仍然需要记住每次打开项目时都要运行它。 我错过了一个简单的方法来定义这个每个项目静态的地方? (这似乎是一个愚蠢的箍必须跳过…苹果,你好?)

由于Xcode 3.2(IIRC)这是一个每个项目的设置。
只需在Xcode中的“获取信息”项目。 它就在“常规”选项卡上。

更新上面的答案是Xcode 3.2。 请参阅下面的Xcode 4的Sri Sankaran's&aeldron的答案。

更新也适合Xcode 4是trtwn下面的答案的第一部分。 换句话说,在地址簿中设置“公司”是解决问题的一种方法,以防公司在特定的Mac上在Xcode中创build的所有新文件始终保持相同。

Xcode 4.1的屏幕截图。

@neoneye查看如何使用Xcode 4.1(OS X Lion  - 如果有的话)完成的截图。

您可以在项目的信息设置中设置值。 在Xcode 4中:

  1. select蓝色的项目图标
  2. 如果closures,则打开实用程序窗格(Option + Command + 1)
  3. 在“项目文档”部分input组织字段。

瞧!

在这里输入图像说明

至于Xcode 4,Release Notes的状态

模板中的ORGANIZATIONNAMEreplace值现在replace为当前用户的通讯簿卡中的公司名称(如果存在),而不是_ MyCompanyName _。 如果PBXCustomTemplateMacroDefinitions用户的默认设置已经设置好了,它将被接受。

然而,后者对我来说并不是这样。

@ weichsel的答案被接受了,因为它解决了大多数普通人的问题 ;),但是我经常切换这个设置,以至于每次我开始一个新的模板时,使用静态定义的公司名称来获取模板生成的文件仍然有点麻烦项目。 不得不做的“获取信息,然后input名称”舞蹈也占用了太多的时间,如果你经常做足够的话。 这是我的最终解决scheme:

  • 用我的shell脚本创build一个文件夹,如“Set Company”,用于我使用的每个公司
  • 每个脚本都包含特定于每个公司的此terminal命令的一个版本:

    defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "My Company";}'

  • 我使每个脚本都可执行,这样我可以简单地在Finder中双击来设置我的当前公司。 这个页面帮助我设置了这个。 基本上,你只是

    • 将每个.sh脚本文件重命名为.command
    • 将每个脚本的权限设置为可执行。 我不知道如何在Finder中做到这一点,但在terminal,它只是chmod +x mycompany.command

那样容易。 现在开始一个新项目,我只需双击我打算使用的任何公司,然后我就可以编码了。 希望这可以帮助别人。

我的公司的最佳解决scheme 在XCode 4中:

打开你的地址簿卡,给自己一个公司名称。 您应该从“系统偏好设置”中执行此操作,以确保您正在更改正确的用户。

在你的Mac上 – >select系统偏好设置 – >select用户和组 – >在你的用户名上点击一次 – >在地址名片上点击“打开”button。 这是与您的用户帐户关联的联系人。 在这里添加一个公司名称(就在你的名下)。 closuresXCode,如果它是开放的。 打开Xcode,试试看。 祝你好运。

尝试这个:

  1. 打开联系人
  2. 确保你在联系人列表中
  3. 如果没有从卡菜单中的“设置我的卡 ”中select,请确保您的联系人卡已分配给“ 我的卡 ”。 在这里输入图像说明

  4. 确保你的公司被设置在你的卡上。

  5. 你的卡应该是这样的:(在你的照片上应该说“ ”) 在这里输入图像说明

下一次您创build一个新项目或创build一个新文件时,您的公司名称将按照您的联系人卡片中的定义。