Wie eine Zip-Datei im selben Format wie der Finder „Compress“ Menüpunkt zu schaffen?

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

  •  01-07-2019
  •  | 
  •  

Frage

Unter Mac OS X können Sie ein Zip-Archiv aus dem Finder, indem Sie einige Dateien auswählen und die Auswahl von „Compress“ aus dem Kontextmenü oder im Menü Datei erstellen. Leider ist nicht identisch mit dem Archiv die resultierende Datei durch den zip Befehl erstellt ist (mit den Standardoptionen).

Diese Unterscheidung zählt zu mindestens einem Dienst von Apple betrieben, die Archive erstellt mit dem zip Befehl zu akzeptieren, schlägt fehl. Mit Archiven manuell erstellen ist ich verhindert vollständig meinen Release Build-Prozess zu automatisieren.

Wie kann ich ein Zip-Archiv in dem richtigen Format innerhalb eines Shell-Skript erstellen?

EDIT: Da diese Frage schriftlich vor langer Zeit, ich habe herausgefunden, dass der entscheidende Unterschied zwischen ditto und zip ist, wie sie symbolischen Links umgehen: weil die Codesignatur innerhalb einer App Bundle einen Symlink enthält, muss sie wie konserviert werden ein Link und nicht als reguläre Datei gespeichert. ditto tut dies standardmäßig, aber zip nicht (Option -y erforderlich).

War es hilfreich?

Lösung

Mit dem dito Kommandozeilen-Tool wie folgt:

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

Sehen Sie die dito Manpage mehr.

Andere Tipps

Ich habe ein Ruby-Skript, das iPhone App Store macht für mich baut, aber die Reißverschlüsse es nicht von iTunes Connect akzeptiert würde, wurde generiert. Sie akzeptiert wurden, wenn ich Finder Funktion „Komprimieren“ verwendet wird.

millenomi Antwort kam in der Nähe für mich, aber dieser Befehl ist, was Arbeit endete. iTunes Connect akzeptiert meine bauen, und die App wurde genehmigt und kann kein Problem heruntergeladen werden, so dass es getestet.

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

Mann dito heißt es:

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

Hinweis --keepParent

Der Schlüssel ist in dem Tag 'Automation'.

eine Aktion in Automator.app erstellen, die die ‚Archiv erstellen‘ Aktion verwendet, rufen Sie es von der Befehlszeile (siehe ‚Automator‘).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top