Da Xcode 8 Beta zum Download verfügbar ist, sehe ich, dass es mit einer .xip
Erweiterung Xcode_8_beta.xip
.
Was ist das .xip-Format? Was ist der Unterschied zum vorherigen .dmg-Format?
Laut xip
Handbuchseite:
Eine XIP-Datei ist ein Analogon zu zip(1), ermöglicht jedoch das Anbringen und Verifizieren einer digitalen Signatur auf dem empfangenden System, bevor das Archiv erweitert wird. Wenn eine XIP-Datei geöffnet wird (durch Doppelklicken), wird Archive Utility sie automatisch erweitern (jedoch nur, wenn die digitale Signatur intakt ist).
Im Wesentlichen ist eine .xip
Datei nur eine Datei .zip
mit einer Signatur, um zu bestätigen, dass sich die Datei nicht geändert hat, seit ihr Ersteller sie gespeichert hat. Dies schützt sowohl vor Schäden durch einen Festplattenfehler als auch vor einer Manipulation der Datei durch Dritte.
Das .xip
Dateiformat enthält ein Archiv ( xar
enthält ein gzip
Archiv und Metadaten) und eine Signatur des Archivs.
Um eine Datei zu decodieren .xip
, verwenden Sie die folgenden Befehle:
pkgutil --check-signature <xip-file>
xar -xf <xip-file>
tar -zxvf <xar-file>
Sehen Sie sich die folgenden Links an, in denen Entwickler dieses Format und seine Auswirkungen diskutieren:
xip
Unterstützung für signierte, komprimierte Anwendungsupdates hinzugefügtApple hat sich inzwischen xip
aus der öffentlichen Nutzung zurückgezogen. Das Format wurde für die exklusive Verwendung durch Apple in der Zukunft reserviert, siehe TN2206 :
Wichtig: Ab macOS Sierra werden nur von Apple signierte XIP-Archive expandiert. Entwickler, die bisher XIP-Archive verwendet haben, müssen auf signierte Installationspakete oder Disk-Images umsteigen.
xip
aus der öffentlichen Nutzung entfernt. Das Format wurde für die zukünftige exklusive Verwendung durch Apple reserviert – siehe github.com/sparkle-project/Sparkle/issues/…xip
erweitert werden kann, befinden sich die Dateien im selben Ordner wie das Original. Laut @AntonTropashko werden wahrscheinlich keine Dateien erstellt.Metadata
Datei die für die Rohdaten verwendete Komprimierung angibt. Da Apple das Format für den privaten Gebrauch neu angeeignet hat, können sie es ohne öffentliche Dokumentation ändern.Meines Wissens nach ist xip ein xar-Derivat, das die gzip-Komprimierung verwendet, mit einer toc-Header-XML, die Prüfsumme, Zeitstempel, Zertifikate, Benutzer-ID/Name, Erstellungs-/Änderungs-/Zugriffsdatum und -zeit usw. enthält.
Zum späteren Nachschlagen der Shell-Befehl
xip --expand /path/to/Xcode_x.y.xip
funktioniert auch und extrahiert Xcode in das aktuelle Verzeichnis der Shell, also cd /Applications
(oder wo auch immer) zuerst.
Ich empfehle außerdem dringend, alle vorhandenen Kopien von Xcode.app (oder Xcode-beta.app ) vom Zielspeicherort zu entfernen oder umzubenennen, bevor Sie diesen Befehl verwenden†.
Soweit ich weiß, hat dies funktioniert, solange Apple Xcode im .xip-Format verteilt hat, und es funktionierte gerade am 10.15.6, um Xcode_11.7.xip zu erweitern, das von Apples Entwicklerseite heruntergeladen wurde .
† Obwohl ich das Überschreiben mit nicht persönlich getestet xip
habe, könnte es, wenn ähnliche Befehlszeilen-Tools Anzeichen dafür sind, möglicherweise ein Durcheinander hinterlassen, wenn es zum Überschreiben eines vorhandenen Verzeichnisses mit demselben Namen verwendet wird, wodurch vorhandene Dateien zurückbleiben, die nicht im vorhanden sind Archiv entpackt wird, oder schlimmer.
forresthopkinsa