使用 Xcode 构建后脚本创建 ZIP 存档

Ale*_*ing 4 bash shell build-automation xcode

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

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

cd $BUILT_PRODUCTS_DIR
rm -f Kachunk.zip
zip Kachunk Kachunk.app readme.txt chunk.sh dechunk.sh
Run Code Online (Sandbox Code Playgroud)

现在,这很好用,但有一个致命的缺陷。应用程序本身未正确添加。出于某种原因,当 Xcode 运行脚本时,.app 文件还没有完全构建,所以我最终得到了一个没有任何内容的应用程序包。

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

Ale*_*ing 5

没关系,我明白了。问题是 .app 文件实际上是包,基本上是目录。因此,它正在复制文件夹,而不是其内容。通过-r在 zip 命令上添加选项很容易解决这个问题:

cd $BUILT_PRODUCTS_DIR
rm -f Kachunk.zip
zip -r Kachunk Kachunk.app readme.txt chunk.sh dechunk.sh
Run Code Online (Sandbox Code Playgroud)

然后它起作用了!通常复制/压缩 .app “文件”时,这似乎是一个问题。