¿Cómo crear un archivo zip en el mismo formato que el elemento del menú "Comprimir" del Finder?

StackOverflow https://stackoverflow.com/questions/107903

  •  01-07-2019
  •  | 
  •  

Pregunta

En Mac OS X, puede crear un archivo zip desde el Finder seleccionando algunos archivos y seleccionando "Comprimir" en el menú contextual o en el menú Archivo.Desafortunadamente, el archivo resultante no es idéntico al creado por el zip comando (con las opciones predeterminadas).

Esta distinción es importante para al menos un servicio operado por Apple, que no acepta archivos creados con el zip dominio.Tener que crear archivos manualmente me impide automatizar completamente el proceso de compilación de mi versión.

¿Cómo puedo crear un archivo zip en el formato correcto dentro de un script de shell?

EDITAR:Desde que escribí esta pregunta hace mucho tiempo, descubrí que la diferencia clave entre ditto y zip Así es como manejan los enlaces simbólicos:Debido a que la firma del código dentro de un paquete de aplicación contiene un enlace simbólico, debe conservarse como un enlace y no almacenarse como un archivo normal. ditto hace esto por defecto, pero zip no (opción -y se requiere).

¿Fue útil?

Solución

Utilice la herramienta de línea de comandos ditto de la siguiente manera:

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

Ver el lo mismo ocurre con la página de manual para más.

Otros consejos

Tengo un script Ruby que crea la App Store de iPhone para mí, pero iTunes Connect no acepta los archivos zip que estaba generando.Fueron aceptados si usaba la función "Comprimir" del Finder.

La respuesta de millenomi estuvo cerca para mí, pero este comando es lo que terminó funcionando.iTunes Connect aceptó mi compilación, la aplicación fue aprobada y se puede descargar sin problemas, por lo que está probada.

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

el hombre lo mismo dice:

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

aviso --keepParent

La pista está en la etiqueta "automatización".

Cree una acción en Automator.app que utilice la acción 'Crear archivo', invoquela desde la línea de comandos (consulte 'automator').

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top