Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 复制文件阶段正在获取最后一次生成';s产品_Xcode_Macos_Cocoa - Fatal编程技术网

Xcode 复制文件阶段正在获取最后一次生成';s产品

Xcode 复制文件阶段正在获取最后一次生成';s产品,xcode,macos,cocoa,Xcode,Macos,Cocoa,我正在编写一个包含嵌入式助手应用程序的应用程序。我配置了一个Xcode行为,这样每次构建应用时,两个应用的捆绑版本都会增加。问题是,我发现除非我每次都清理构建文件夹,否则我的应用程序的版本N会得到助手的版本N-1。这不仅仅是版本号不匹配,助手应用程序的二进制文件不包含我刚才所做的更改 我的基本设置如下: 为了尝试以更有针对性的方式模拟清理构建文件夹,我编写了一个很小的Perl脚本,它在添加帮助程序的复制文件阶段之前的运行脚本阶段运行,但没有任何效果: use strict; use warni

我正在编写一个包含嵌入式助手应用程序的应用程序。我配置了一个Xcode行为,这样每次构建应用时,两个应用的捆绑版本都会增加。问题是,我发现除非我每次都清理构建文件夹,否则我的应用程序的版本
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的菜单中选择“编辑器”“->”展开选定的转录本”

,这似乎完成了任务—我没有意识到它是在其他地方构建的,然后移动到最终位置。谢谢