当前位置:  开发笔记 > 后端 > 正文

如何使用与Finder的"压缩"菜单项相同的格式创建zip文件?

如何解决《如何使用与Finder的"压缩"菜单项相同的格式创建zip文件?》经验,为你挑选了3个好方法。

在Mac OS X上,您可以通过选择一些文件并从上下文菜单或"文件"菜单中选择"压缩",从Finder创建zip存档.不幸的是,生成的文件与zip命令创建的存档(使用默认选项)不同.

这种区别对Apple运营的至少一项服务很重要,该服务无法接受使用该zip命令创建的档案.必须手动创建存档会阻止我完全自动化我的发布构建过程.

如何在shell脚本中以正确的格式创建zip存档?

编辑:既然早就写了这个问题,我已经想通了,关键的区别ditto,并zip为他们如何处理符号链接:因为一个应用程序包内的代码签名包含一个符号,它需要被保存为一个链接,而不是存储作为常规文件.ditto默认情况下这样做,但zip不是(选项-y是必需的).



1> Jared Egan..:

我有一个ruby脚本,可以为我制作iPhone App Store版本,但它生成的拉链不会被iTunes Connect接受.如果我使用Finder的"压缩"功能,它们就被接受了.

millenomi的答案对我来说很接近,但这个命令最终起作用了.iTunes Connect接受了我的版本,该应用程序获得批准,可以下载没问题,所以它已经过测试.

ditto -c -k --sequesterRsrc --keepParent AppName.app AppName.zip



2> millenomi..:

使用ditto命令行工具,如下所示:

ditto -ck --rsrc --sequesterRsrc folder file.zip

有关更多信息,请参见ditto手册页.


请记住添加--keepParent.如果您阅读手册页(man ditto):命令:ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip将创建一个与Finder的Compress功能类似的PKZip存档.

3> valexa..:

男人同上指出:

 The command:
       ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
 will create a PKZip archive similarly to the Finder's Compress functionality.

注意--keepParent

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有