Domanda

Su Mac OS X, puoi creare un archivio zip dal Finder selezionando alcuni file e selezionando " Comprimi " dal menu contestuale o dal menu File. Sfortunatamente, il file risultante non è identico all'archivio creato dal comando zip (con le opzioni predefinite).

Questa distinzione è importante per almeno un servizio gestito da Apple, che non accetta gli archivi creati con il comando zip . Dover creare manualmente archivi mi impedisce di automatizzare completamente il mio processo di compilazione delle versioni.

Come posso creare un archivio zip nel formato corretto all'interno di uno script shell?

EDIT: da quando ho scritto questa domanda molto tempo fa, ho capito che la differenza chiave tra idem e zip è come gestiscono i collegamenti simbolici: perché la firma del codice all'interno di un pacchetto di app contiene un collegamento simbolico, deve essere conservato come collegamento e non archiviato come file normale. idem fa questo per impostazione predefinita, ma zip non lo fa (è richiesta l'opzione -y ).

È stato utile?

Soluzione

Utilizzare lo strumento da riga di comando idem come segue:

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

Vedi la man page ditto per di più.

Altri suggerimenti

Ho uno script ruby ??che crea iPhone App Store per me, ma le zip che stava generando non sarebbero state accettate da iTunes Connect. Sono stati accettati se ho usato Finder " Compress " la funzione.

La risposta di Millenomi mi è venuta vicino, ma questo comando è quello che ha funzionato. iTunes Connect ha accettato la mia build e l'app è stata approvata e non può essere scaricata, quindi è stata testata.

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

man ditto afferma:

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

avviso --keepParent

L'indizio è nel tag 'automazione'.

Crea un'azione in Automator.app che utilizza l'azione "Crea archivio", invocala dalla riga di comando (vedi "automatore").

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top