使用Xcode编译后脚本创建ZIP存档
我正在开发一个超级简单的小应用程序,我将其作为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
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“文件”时,这似乎是一个问题