Da Xcode 8 beta er tilgængelig til download, ser jeg den distribueres med en .xip
udvidelse, Xcode_8_beta.xip
.
Hvad er .xip-formatet? Hvad er forskellen mellem tidligere .dmg-format?
Svar
I henhold til xip
manuel side:
En XIP-fil er en analog til zip (1), men giver mulighed for at anvende og verificere en digital signatur på det modtagende system, før arkivet udvides. Når en XIP-fil åbnes (ved at dobbeltklikke) udvider Archive Utility den automatisk (men kun hvis den digitale signatur er intakt).
I det væsentlige , en .xip
-fil er bare en .zip
med en underskrift for at bekræfte, at filen ikke er ændret, siden skaberen gemte den. Dette beskytter både mod beskadigelse fra en diskfejl og mod en tredjeparts manipulation med filen.
Svar
.xip
filformat indeholder et arkiv (xar
indeholdende et gzip
arkiv og metadata) og en signatur af arkivet.
For at afkode en .xip
-fil skal du bruge følgende kommandoer:
pkgutil --check-signature <xip-file> xar -xf <xip-file> tar -zxvf <xar-file>
Se følgende links, hvor udviklere diskuterer dette format og dets implikationer:
- Sparkle issue # 821 – Add
xip
understøttelse af underskrevne, komprimerede applikationsopdateringer - “End-of-central-directory-signatur blev ikke fundet.” når du installerer Xcode 8 beta xip-fil
- TheUnarchiver-kildekode: “Kludge support til XIP-filer til XAR-parser”
Ikke til offentlig brug
Apple har siden fjernet xip
fra offentlig brug. Formatet er reserveret til Apples eksklusive brug i fremtiden, se TN2206 :
Vigtigt: Fra og med MacOS Sierra udvides kun XIP-arkiver underskrevet af Apple. Udviklere, der har brugt XIP arkiver skal flytte til brug af signerede installationspakker eller diskbilleder.
Kommentarer
Svar
Så vidt jeg ved, er xip et xar-derivat ved hjælp af gzip-komprimering med en toc-header xml indeholdende kontrolsum, tidsstempel, certifikater, bruger-id / navn, oprettelse / ændring / adgangsdato & tid osv.
Svar
Unarchiver og kommandolinjeprogrammer (xar, tar) fungerede ikke for mig på MacOS 10.12 .6 Hvad fungerede var at højreklikke på .xip-filen og vælge “Archive Utility”, den kunne udvide .xip-filen med succes.
Kommentarer
- Var du i stand til at installere xcode ved hjælp af .xip-filen?
- Ja, dobbeltklik på .xip-filen udpakker XCode-applikationen. Den ' t kopieres til applikationerne mappe, så du bliver nødt til at gøre den del selv.
- Hvis jeg har en Xcode 10 og efter at have klikket på .xip Xcode 11, vil den erstatte den forrige? Og skal jeg kopiere det til mappen Applications?
- @OliverD det er muligt at installere side om side versioner af XCode, hvis du vil køre både XCode 10 og XCode 11, skal du bare give dem forskellige navne i din Applikationsmappe. Ellers hvis du ikke har brug for ' XCode 10 mere, vil jeg sandsynligvis anbefale at trække den gamle XCode.app i papirkurven.
- @mbonness Nå, jeg har ikke ' behøver ikke Xcode 10, så skal jeg trække XCode 10 før opsætning af Xcode 11, eller betyder det ikke noget?
Svar
For fremtidig reference skal shell-kommandoen
xip --expand /path/to/Xcode_x.y.xip
fungerer også og udtrækker Xcode i shellens aktuelle bibliotek, så cd /Applications
(eller hvor som helst) først.
I “d anbefaler også stærkt at fjerne eller eller omdøbe eksisterende kopier af Xcode.app (eller Xcode-beta.app ) fra målplaceringen, før du bruger denne kommando †.
Så vidt som jeg ved, dette har fungeret, så længe Apple har distribueret Xcode i .xip-format, og det fungerede lige nu den 10.15.6 for at udvide Xcode_11.7.xip downloadet fra Apples udviklerwebsted .
† Mens jeg ikke personligt har testet overskrivning med xip
, hvis lignende kommandolinjeværktøjer er en indikation, kan det potentielt l aflyt et rod, hvis det bruges til at overskrive en eksisterende mappe med samme navn og efterlade eksisterende filer, der ikke findes i arkivet, der ekstraheres, eller værre.
xip
kan udvides, vil filerne være i samme mappe som originalen . Ifølge @AntonTropashko er det sandsynligt, at der ikke vil blive produceret nogen filer.Metadata
fil angiver den komprimering, der bruges til rådataene. Da Apple har genanvendt formatet til privat brug, er de i stand til at ændre det uden offentlig dokumentation.