Aangezien Xcode 8 beta beschikbaar is om te downloaden, zie ik dat het wordt gedistribueerd met een .xip
extensie, Xcode_8_beta.xip
.
Wat is het .xip-formaat? Wat is het verschil tussen het vorige .dmg-formaat?
Antwoord
Volgens de xip
handmatige pagina:
Een XIP-bestand is analoog aan zip (1), maar maakt het mogelijk een digitale handtekening toe te passen en te verifiëren op het ontvangende systeem, voordat het archief wordt uitgebreid. Wanneer een XIP-bestand wordt geopend (door te dubbelklikken), zal Archive Utility het automatisch uitbreiden (maar alleen als de digitale handtekening intact is).
In wezen is een .xip
-bestand slechts een .zip
met een handtekening om te verifiëren dat het bestand niet is gewijzigd sinds de maker het heeft opgeslagen. Dit beschermt tegen zowel schade door een schijffout als tegen het knoeien door derden met het bestand.
Antwoord
De .xip
bestandsformaat bevat een archief (xar
met een gzip
archief en metagegevens) en een handtekening van het archief.
Gebruik de volgende opdrachten om een .xip
-bestand te decoderen:
pkgutil --check-signature <xip-file> xar -xf <xip-file> tar -zxvf <xar-file>
Zie de volgende links waar ontwikkelaars dit formaat en de implicaties ervan bespreken:
- Sparkle issue # 821 – Voeg
xip
ondersteuning voor ondertekende, gecomprimeerde applicatie-updates - “End-of-central-directory signature not found.” bij het installeren van Xcode 8 beta xip-bestand
- TheUnarchiver-broncode: “Kludge-ondersteuning voor XIP-bestanden naar XAR-parser”
Niet voor openbaar gebruik
Apple heeft sindsdien xip
verwijderd uit openbaar gebruik. Het formaat is gereserveerd voor exclusief gebruik door Apple in de toekomst, zie TN2206 :
Belangrijk: Vanaf macOS Sierra worden alleen XIP-archieven die door Apple zijn ondertekend, uitgebreid. Ontwikkelaars die XIP hebben gebruikt archieven moeten worden verplaatst naar het gebruik van ondertekende installatiepakketten of schijfkopieën.
Opmerkingen
Antwoord
Voor zover ik weet is xip een xar-derivaat met gzip-compressie, met een toc-header xml met checksum, tijdstempel, certificaten, gebruikers-ID / naam, aanmaak / wijziging / toegangsdatum & tijd etc.
Answer
De hulpprogrammas Unarchiver en de opdrachtregel (xar, tar) werkten niet voor mij op MacOS 10.12 .6. Wat wel werkte, was rechtsklikken op het .xip-bestand en “Archive Utility” selecteren, het was in staat om het .xip-bestand met succes uit te vouwen.
Reacties
- Kon je xcode installeren gebruik je het .xip-bestand?
- Ja, dubbelklikken op het .xip-bestand extraheert de XCode-applicatie. Het ' kopieert het niet naar de Applicaties map dus je zult dat deel zelf moeten doen.
- Als ik een Xcode 10 heb en nadat ik op .xip Xcode 11 heb geklikt, zal het de vorige vervangen? En moet ik het naar de map Toepassingen kopiëren?
- @OliverD het is mogelijk om versies van XCode naast elkaar te installeren voor het geval u zowel XCode 10 als XCode 11 wilt gebruiken, geef ze dan verschillende namen in uw Map Toepassingen. Anders, als je ' geen XCode 10 meer nodig hebt, zou ik waarschijnlijk aanraden om de oude XCode.app naar de prullenbak te slepen.
- @mbonness Nou, ik heb ' geen Xcode 10 nodig, dus moet XCode 10 slepen voordat Xcode 11 wordt ingesteld, of maakt niet uit?
Answer
Voor toekomstige referentie, het shell-commando
xip --expand /path/to/Xcode_x.y.xip
werkt ook, en extraheert Xcode in de huidige directory van de shell, dus cd /Applications
(of waar dan ook) eerst.
Ik zou ook sterk aanbevelen om te verwijderen of of het hernoemen van bestaande kopieën van Xcode.app (of Xcode-beta.app ) vanaf de doellocatie voordat u deze opdracht gebruikt †.
Tot zover zoals ik weet, heeft dit gewerkt zolang Apple Xcode in .xip-formaat distribueert, en het werkte net op 10.15.6 om Xcode_11.7.xip gedownload van Apples ontwikkelaarssite .
† Hoewel ik “niet persoonlijk heb getest op overschrijven met xip
, als vergelijkbare opdrachtregelprogrammas een indicatie zijn, kan het mogelijk l een zooitje achterlaten als het wordt gebruikt om een bestaande map met dezelfde naam te overschrijven, waarbij bestaande bestanden achterblijven die niet bestaan in het archief dat wordt uitgepakt, of erger.
xip
kan worden uitgevouwen, zullen de bestanden in dezelfde map staan als het origineel . Volgens @AntonTropashko is het waarschijnlijk dat er geen bestanden zullen worden geproduceerd.Metadata
bestand geeft de compressie aan die wordt gebruikt voor de onbewerkte gegevens. Aangezien Apple het formaat opnieuw heeft toegeëigend voor privégebruik, kunnen ze het wijzigen zonder openbare documentatie.