Eftersom Xcode 8 beta är tillgänglig för nedladdning ser jag att den distribueras med en .xip
förlängning, Xcode_8_beta.xip
.
Vad är.xip-format?Vad är skillnaden mellan tidigare .dmg-format?
Eftersom Xcode 8 beta är tillgänglig för nedladdning ser jag att den distribueras med en .xip
förlängning, Xcode_8_beta.xip
.
Vad är.xip-format?Vad är skillnaden mellan tidigare .dmg-format?
Enligt xip
manuell sida:
En XIP-fil är en analog till zip (1) men möjliggör en digital signatur som kan tillämpas och verifieraspå det mottagande systemet innan arkivet utvidgas.När en XIP-fil öppnas (genom att dubbelklicka) utökar Arkivverktyget den automatiskt (men bara om den digitala signaturen är intakt).
I huvudsak en .zip
med en signatur för att verifiera att filen inte har ändrats sedan dess skapare sparade den.Detta skyddar både från skador på grund av ett skivfel och från att tredje part manipulerar filen.
Filformatet .xip
innehåller ett arkiv ( xar
som innehåller ett gzip
arkiv och metadata) och en signatur för arkivet.
För att avkoda en .xip
-fil, använd följande kommandon:
pkgutil --check-signatur <xip-file> xar -xf <xip-file> tar -zxvf <xar-file>
Se följande länkar där utvecklare diskuterar detta format och dess konsekvenser:
xip
-stöd för signerade, komprimerade, programuppdateringar Apple har sedan tagit bort xip
från allmänt bruk. Formatet har reserverats för Apples exklusiva användning i framtiden, se TN2206:
Viktigt: Från och med MacOS Sierra kommer endast XIP-arkiv signerade av Apple att utvidgas. Utvecklare som har använt XIP-arkiv måste gå över till att använda signerade installationspaket eller diskbilder.
Så vitt jag vet är xip ett xar-derivat som använder gzip-komprimering, med en toc-rubrik xml som innehåller kontrollsumma, tidsstämpel, certifikat, användar-id / namn, skapande / ändring / åtkomstdatum&time etc.
Verktygen Unarchiver och kommandoraden (xar, tar) fungerade inte för mig på MacOS 10.12.6.Vad som fungerade var att högerklicka på .xip-filen och välja "Arkivverktyg", det kunde expandera .xip-filen framgångsrikt.
För kommande referens, shell-kommandot
xip - Expand /path/to/Xcode_x.y.xip
fungerar också och extraherar Xcode till skalets nuvarande katalog, så cd / Applications
(eller var som helst) först.
Jag rekommenderar också att du tar bort eller byter namn på befintliga kopior av Xcode.app (eller Xcode-beta.app ) från målplatsen innan du använder detta kommando†.
Så vitt jag vet har detta fungerat så länge Apple har distribuerat Xcode i .xip-format, och det fungerade just nu den 10.15.6 för att expandera Xcode_11.7.xip nedladdat från Apples utvecklarwebbplats.
† Även om jag inte personligen har testat överskrivning med xip
, om liknande kommandoradsverktyg är någon indikation, kan det potentiellt lämna en röra om den används för att skriva över en befintlig katalog med samma namnlämna kvar befintliga filer som inte finns i arkivet som extraheras, eller värre.