Xcode 4构建方案脚本的设置变量

bei*_*ein 9 iphone xcode

我还习惯了Xcode 4,所以如果这是一个愚蠢的问题请原谅我:

在以前版本的Xcode中,可以在任何与构建相关联的shell脚本中使用任何构建设置变量(例如SRCROOT或PRODUCT_NAME等).这可以通过向任何目标添加"运行脚本"构建阶段来轻松实现.

然而,在Xcode 4中,添加方案(顺便说一下,真的很棒)似乎不允许使用任何这些变量.这可能是设计的吗?有解决方法吗?

Mar*_*Thé 12

在Xcode 4.2中的"运行脚本"方案操作中,有一个"从...提供构建设置"下拉菜单,您可以在其中选择要从中获取环境变量的目标.见下面的截图:

除此之外,如果选择"无",Xcode将设置一组环境变量.您可以通过执行printenv > ~/Desktop/printenv.txt将它们转储到文本文件中来发现所有这些内容.

较为常用的一些环境变量包括ARCHIVE_PATH,SCHEME_NAME,USER,ARCHIVE_DSYMS_PATH,ARCHIVE_PRODUCTS_PATH.

  • 这是一个非常方便的提示,除了对如何进入这些设置有点不清楚.从方案编辑器开始,在左侧列中打开相应的操作(例如**Build**).单击例如**Pre-actions**,然后单击主窗格底部的add(**+**)按钮,并选择"**New Run Script Action**".然后你得到你上面看到的,并可以添加脚本.谢谢,@ Martijn! (3认同)

kha*_*son 0

您仍然可以将运行脚本添加到 Xcode 4 中的目标,其方式与使用 Xcode 3 的方式大致相同。首先在左侧项目导航器窗格中选择项目,然后选择选定的目标,在“构建阶段”选项卡中查看“运行”脚本部分。这些脚本可以使用与 Xcode 3 一样的常用变量集。

阅读 Apple 开发者论坛中有关此主题的一些帖子,似乎 Apple 至少承认了前操作和后操作的局限性,因此我们可能会在未来的更新中看到它得到修复(如果您还没有,请向 Apple 打开错误报告)已经这样做了)。