Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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编译后脚本创建ZIP存档_Xcode_Bash_Shell_Build Automation - Fatal编程技术网

使用Xcode编译后脚本创建ZIP存档

使用Xcode编译后脚本创建ZIP存档,xcode,bash,shell,build-automation,Xcode,Bash,Shell,Build Automation,我正在开发一个超级简单的小应用程序,我将其作为ZIP存档分发。存档包含应用程序本身、自述文件和一些脚本。我想自动化这个过程,所以我将脚本添加到我的项目中,并在复制文件构建阶段将它们自动复制到构建文件夹中 现在,我需要实现归档的自动化,因此我编辑了构建方案的构建后操作,以包括一个运行脚本操作,其中包括以下内容: cd $BUILT_PRODUCTS_DIR rm -f Kachunk.zip zip Kachunk Kachunk.app readme.txt chunk.sh dechunk.s

我正在开发一个超级简单的小应用程序,我将其作为ZIP存档分发。存档包含应用程序本身、自述文件和一些脚本。我想自动化这个过程,所以我将脚本添加到我的项目中,并在复制文件构建阶段将它们自动复制到构建文件夹中

现在,我需要实现归档的自动化,因此我编辑了构建方案的构建后操作,以包括一个运行脚本操作,其中包括以下内容:

cd $BUILT_PRODUCTS_DIR
rm -f Kachunk.zip
zip Kachunk Kachunk.app readme.txt chunk.sh dechunk.sh
现在,这很有效,但有一个致命的缺陷。应用程序本身未正确添加。出于某种原因,当Xcode运行脚本时,.app文件还没有完全构建,因此我最终得到了一个没有任何内容的应用程序包


我做错什么了吗?有解决办法吗?

没关系,我知道了。问题是.app文件实际上是捆绑包,基本上是目录。所以,它是在复制文件夹,但不是它的内容。通过在zip命令上添加
-r
选项,可以轻松解决此问题:

cd $BUILT_PRODUCTS_DIR
rm -f Kachunk.zip
zip -r Kachunk Kachunk.app readme.txt chunk.sh dechunk.sh
然后它就成功了!通常,在复制/压缩.app“文件”时,这似乎是一个问题