gpt4 book ai didi

xcode - 复制文件阶段正在获取最后构建的产品

转载 作者:行者123 更新时间:2023-12-03 16:32:15 27 4
gpt4 key购买 nike

我正在编写一个具有嵌入式帮助程序应用程序的应用程序。我配置了 Xcode 行为,以便每次构建应用程序时两个应用程序的捆绑版本都会增加。问题是,我发现除非我每次都清理构建文件夹,否则我的应用程序的 N 版本将获取帮助程序的 N - 1 版本。这不仅仅是版本号不匹配,帮助应用程序的二进制文件不包含我刚刚所做的更改。

我的基本设置如下:

"Typesetter Toolkit Helper" is included in a Target Dependencies phase at the top, and "Typesetter Toolkit Helper.app" is listed in a Copy Files phase at the bottom, being copied to "Contents/Helpers" in destination "Wrapper".

为了尝试以更有针对性的方式模拟清理构建文件夹,我编写了一个小型 Perl 脚本,该脚本在添加帮助程序的复制文件阶段之前的运行脚本阶段运行,但没有效果:

use strict;
use warnings;

use File::Path qw(remove_tree);

my $dir = "$ENV{TARGET_BUILD_DIR}/$ENV{WRAPPER_NAME}/Contents/Helpers";
if(-e $dir) {
remove_tree $dir or die "Can't rmtree $dir: $!";
}

有人知道这是怎么回事吗?我怎样才能让我的助手和它的主机保持同步?

最佳答案

您的脚本在复制阶段之前运行,因此我认为您需要 BUILD_DIR 而不是 TARGET_BUILD_DIR。

BUILD_DIR = /Users/gdunham/Library/Developer/Xcode/DerivedData/DC_Wire_Sizer-csvpfesmgmorlhendyncafecwzam/Build/Products
TARGET_BUILD_DIR = /Users/gdunham/Library/Developer/Xcode/DerivedData/DC_Wire_Sizer-csvpfesmgmorlhendyncafecwzam/Build/Products/Debug-iphonesimulator

提示:我通常会在运行脚本构建阶段检查“在构建日志中显示环境变量”。您还可以从脚本中进行打印并通过展开构建阶段记录来查看输出。在日志导航器中选择您的运行脚本,然后在 Xcode 菜单中选择“编辑器”->“展开选定的转录本”。

关于xcode - 复制文件阶段正在获取最后构建的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16317882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com