【发布时间】:2009-08-25 23:08:48
【问题描述】:
在 Xcode 中,我如何调用“shell 脚本”,它是一个将 .app 和 .dsym 文件复制到不同目录的 Perl 脚本?
我想将项目的名称和/或项目的根目录传递给脚本。我希望每次在发布和分发模式而不是调试模式下构建时都调用该脚本。
【问题讨论】:
标签: xcode xcodebuild
在 Xcode 中,我如何调用“shell 脚本”,它是一个将 .app 和 .dsym 文件复制到不同目录的 Perl 脚本?
我想将项目的名称和/或项目的根目录传递给脚本。我希望每次在发布和分发模式而不是调试模式下构建时都调用该脚本。
【问题讨论】:
标签: xcode xcodebuild
对于其他想知道的人,您也可以通过以下方式进行简单的复制
[点击方案名称] -> 编辑方案... -> [选择方案] -> 运行“目标” -> 后处理
并添加一个 cp 命令。就我而言,为了快速测试和易用性,我想将我的二进制文件复制回项目目录,以便处理一些数据文件。我使用了以下内容:
cp ${TARGET_BUILD_DIR}/${TARGET_NAME} ${PROJECT_DIR}/"binaryFileName"
【讨论】:
右键单击您的目标并选择 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”标签)
【讨论】:
Xcode 12.4 没有脚本,而是有一个用于复制文件的构建阶段:
如果您不想要绝对路径或提供的目标之一,则必须改用运行脚本阶段。
【讨论】: