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

Bri*_*kau 62 xcode

我已经看到如何定义__MyCompanyName__在XCode中的所有标题注释中显示的宏值,方法是通过terminal命令全局定义它:

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "My Company";}'
Run Code Online (Sandbox Code Playgroud)

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

Sri*_*ran 122

Xcode 4.1的屏幕截图.

@neoneye查看Xcode 4.1如何完成的截图(OS X Lion  - 如果重要的话).

  • +1 Ahem,这是xcode 4+的真正答案..感谢手拿图形!!! (5认同)

ael*_*ron 51

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

  1. 选择蓝色项目图标
  2. 如果已关闭,则打开Utilities窗格(Option + Command + 1)
  3. 在"项目文档"部分中键入"组织"字段.

瞧!

在此输入图像描述

  • 右侧选项卡称为"实用程序"窗格. (2认同)
  • 无论如何在创建模板项目之前设置它,所以在更改组织之前,您不必去搜索并替换模板创建的事件? (2认同)

Tho*_*ing 20

从Xcode 3.2(IIRC)开始,这是一个按项目设置的.
只需在Xcode中的"获取信息"项目.它就在"常规"选项卡上.

更新 以上答案适用于Xcode 3.2.有关Xcode 4的信息,请参阅下面的Sri Sankaran和aeldron的答案.

更新 同样适用于Xcode 4是下面trtwn的答案的第一部分.换句话说,在地址簿中设置"公司"是解决问题的一种方法,以防公司在特定mac上的Xcode中创建的所有新文件始终相同.


tra*_*ein 17

至于Xcode 4,发行说明状态

模板中的ORGANIZATIONNAME替换值现在替换为当前用户的地址簿卡中的公司名称(如果存在),而不是_ MyCompanyName _.如果已经设置了PBXCustomTemplateMacroDefinitions用户默认值,那么它将被尊重.

然而,后者对我来说并非如此.


Bri*_*kau 7

@ weichsel的答案被接受,因为它解决了大多数普通人的问题 ;),但我经常切换这个设置,每次开始新的时候,使用静态定义的公司名称获取模板生成的文件仍然有点烦人项目.必须做"获取信息然后键入名称"舞蹈也会占用太多时间,如果你经常这样做.这是我的终极解决方案:

  • 为我所使用的每个公司创建一个像"Set Company"这样的文件夹,其中包含我的shell脚本
  • 每个脚本都包含特定于每个公司的此终端命令的版本:

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

  • 我使每个脚本都可执行,这样我只需在Finder中双击即可设置我当前的公司. 这个页面帮我设置了这个.基本上,你就是这样

    • 将每个.sh脚本文件重命名为.command
    • 将每个脚本的权限设置为可执行.我无法弄清楚如何在Finder中做到这一点,但在终端中它很简单chmod +x mycompany.command

很简单.现在开始一个新项目我只需双击我计划使用的公司,然后我即可开始编码.希望这有助于其他人.