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-formatet? Vad är skillnaden mellan tidigare .dmg-format?
Svar
Enligt xip
manuell sida:
En XIP-fil är en analog till zip (1), men tillåter att en digital signatur appliceras och verifieras på 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 .xip
-fil är bara en .zip
med en signatur för att verifiera att filen inte har ändrats sedan dess skapare sparade den. Detta skyddar från både skada från ett diskfel och från att tredje part manipulerar filen.
Svar
.xip
filformat innehåller ett arkiv (xar
som innehåller ett gzip
arkiv och metadata) och en signatur av arkivet.
Om du vill avkoda en .xip
-fil använder du följande kommandon:
pkgutil --check-signature <xip-file> xar -xf <xip-file> tar -zxvf <xar-file>
Se följande länkar där utvecklare diskuterar detta format och dess implikationer:
- Sparkle-nummer # 821 – Lägg till
xip
stöd för signerade, komprimerade applikationsuppdateringar - “End-of-central-directory-signaturen hittades inte.” när du installerar Xcode 8 beta xip-fil
- TheUnarchiver-källkod: ”Kludge-stöd för XIP-filer till XAR-parser”
Inte för allmän användning
Apple har sedan tagit bort xip
från allmän användning. 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 flytta till att använda signerade installationspaket eller diskbilder.
Kommentarer
Svar
Så vitt jag vet är xip ett xar-derivat med gzip-komprimering, med en toc-rubrik xml som innehåller kontrollsumma, tidsstämpel, certifikat, användar-id / namn, skapande / ändring / åtkomstdatum & tid etc.
Svar
Unarchiver- och kommandoradsverktygen (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 ”Archive Utility”, det kunde expandera .xip-filen framgångsrikt.
Kommentarer
- Kunde du installera xcode använder .xip-filen?
- Ja, dubbelklicka på .xip-filen extraherar XCode-applikationen. Den ' t kopierar den till applikationerna mappen så att du måste göra den delen själv.
- Om jag har en Xcode 10 och efter att ha klickat på .xip Xcode 11 kommer den att ersätta den tidigare? Och ska jag kopiera den till mappen Applications?
- @OliverD är det möjligt att installera sida vid sida versioner av XCode om du vill köra både XCode 10 och XCode 11, bara ge dem olika namn i din Programmapp. Annars om du inte behöver ' XCode 10 längre skulle jag nog rekommendera att du drar den gamla XCode.app i papperskorgen.
- @mbonness Nåväl, jag behöver inte ' Xcode 10, så ska jag dra XCode 10 innan Xcode 11 ställs in, eller spelar det ingen roll?
Svar
För framtida referens ska kommandot shell
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å starkt att ta bort eller eller byta namn på befintliga kopior av Xcode.app (eller Xcode-beta.app ) från målplatsen innan du använder detta kommando †.
Så långt som jag vet har det 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 laddat ner från Apples utvecklarwebbplats .
† Även om jag inte personligen testat överskrivning med xip
, om liknande kommandoradsverktyg är någon indikation, kan det potentiellt l avlyssna en röra om den används för att skriva över en befintlig katalog med samma namn och lämna kvar befintliga filer som inte finns i arkivet som extraheras, eller värre.
xip
kan utökas kommer filerna att finnas i samma mapp som originalet . Enligt @AntonTropashko är det troligt att inga filer kommer att produceras.Metadata
-fil indikerar den komprimering som används för rådata. Med tanke på att Apple har återanvändt formatet för privat bruk kan de ändra det utan offentlig dokumentation.