我正在使用Xcode 4构建命令行应用程序。
构建完成后,可执行文件位于默认的DerivedData文件夹中。这没关系,但我想将此文件复制到特定文件夹。无论构建类型(发布/调试)如何,我都希望这种情况发生。
任何人都可以建议一种方法吗?
另外,DerivedData中项目的子目录中有一个随机字符标记:
myProject-fnkwvtitgroivocadokaayqexhqy
是否有人知道这是否会随着时间的推移而改变(从而改变我要复制的可执行文件的位置),或者该项目是否已修复?
答案 0 :(得分:30)
实际上有一种很好的自动化方法。假设您当前在Xcode项目中,单击项目文件并单击目标(因为您说它是一个简单的命令行程序,应该只有一个)。
接下来,单击“构建阶段”选项卡,然后打开“复制文件”的三角形。
(如果您没有看到带有“复制文件”的三角形,请单击+符号进行添加。)
现在,Products文件夹中的导航器将是构建的可执行文件。将其拖到“复制文件”构建阶段。
在Copy Files(复制文件)小菜单中,单击下拉菜单以选择绝对路径(Absolute Path),并在您希望安装它的路径中选择该类型。确保选中“仅在安装时复制”,每次构建项目并成功时,它都会将可执行文件复制到该位置。
答案 1 :(得分:6)
就我而言,我希望将新构建的应用程序复制到Application的文件夹中的现有构建中。在构建规则中,将New Run Script Phase
添加到列表中。我使用/bin/bash
,但您也可以使用默认的/bin/sh
。然后,我将以下代码添加到脚本中。
cp -f -R ${BUILT_PRODUCTS_DIR}/${APPLICATION_NAME} /Applications