Xcode 复制文件阶段正在获取最后一次生成';s产品
我正在编写一个包含嵌入式助手应用程序的应用程序。我配置了一个Xcode行为,这样每次构建应用时,两个应用的捆绑版本都会增加。问题是,我发现除非我每次都清理构建文件夹,否则我的应用程序的版本Xcode 复制文件阶段正在获取最后一次生成';s产品,xcode,macos,cocoa,Xcode,Macos,Cocoa,我正在编写一个包含嵌入式助手应用程序的应用程序。我配置了一个Xcode行为,这样每次构建应用时,两个应用的捆绑版本都会增加。问题是,我发现除非我每次都清理构建文件夹,否则我的应用程序的版本N会得到助手的版本N-1。这不仅仅是版本号不匹配,助手应用程序的二进制文件不包含我刚才所做的更改 我的基本设置如下: 为了尝试以更有针对性的方式模拟清理构建文件夹,我编写了一个很小的Perl脚本,它在添加帮助程序的复制文件阶段之前的运行脚本阶段运行,但没有任何效果: use strict; use warni
N
会得到助手的版本N-1
。这不仅仅是版本号不匹配,助手应用程序的二进制文件不包含我刚才所做的更改
我的基本设置如下:
为了尝试以更有针对性的方式模拟清理构建文件夹,我编写了一个很小的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 = /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的菜单中选择“编辑器”“->”展开选定的转录本”“,这似乎完成了任务—我没有意识到它是在其他地方构建的,然后移动到最终位置。谢谢