Xcode Post Build复制文件操作

时间:2009-08-25 23:08:48

标签: perl xcode xcodebuild

在Xcode中,如何调用“shell脚本”,这是一个将.app.dsym文件复制到另一个目录的PERL脚本?

我想将项目名称和/或项目的根目录传递给脚本。我想在每次构建发布和分发模式时调用脚本,但不是在调试模式下调用。

3 个答案:

答案 0 :(得分:6)

对于其他想知道的人,您也可以通过

进行简单的复制

[点击计划名称] - >编辑方案... - > [选择方案] - >运行“目标” - >后操作

并添加一个cp命令。在我的情况下,为了快速测试和易用性,我想将我的二进制文件复制回项目目录,以便我可以处理一些数据文件。我使用了以下内容:

cp ${TARGET_BUILD_DIR}/${TARGET_NAME} ${PROJECT_DIR}/"binaryFileName"

答案 1 :(得分:5)

右键单击目标并选择Add-> New Build Phase-> New Run Script Build Phase。

在“脚本”文本区域内,添加:

if [ ${CONFIGURATION} != "Debug" ]
then
    /usr/bin/perl "${PROJECT_DIR}/myperlscript.pl" "${PRODUCT_NAME}" "${PROJECT_DIR}"
fi

myperlscript.pl的位置和名称更改为脚本的位置和名称。

请确保将Run Script步骤移至Link Binary With Libraries之后,因为您正在复制内置的.app。

(可能还想在问题中添加“perl”标签)

答案 2 :(得分:0)

Xcode 12.4 有一个用于复制文件的构建阶段,而不是脚本:

  1. 显示项目导航器(蓝色文件夹按钮)
  2. 点击您的项目(蓝图图标)
  3. 在打开的设置面板中点击“构建阶段”标题
  4. 点击设置面板左上角的 +
  5. 点击“新建复制文件阶段”
  6. 将目的地更改为绝对路径并设置您的路径
  7. 点击底部的 + 添加要复制的文件
  8. 保存。如果您在没有保存的情况下运行,您的新阶段将被忽略

如果您不想要绝对路径或提供的目的地之一,则必须改用运行脚本阶段。