I would recommend to simply extract the archive into the folder you want trying the following:
xar -xf file.xip -C /path/to/target
(and/or)
tar -zxvf file.xip -C /path/to/target
The xar
and tar
commands extract the .xip
"Content" and "Metadata" in a raw format.
Using a pbzx
stream parser you'll need to extract the "Content" which is an lzma compressed Payload; the format is similar to that found within a package installer (eg. .pkg
). You can compile the pbzx source from here, or download the compiled binary and install to /usr/local/bin
then invoke the pbzx
command:
pbzx -n Content | cpio -i
After the command finishes parsing the Content you should get the original form of whatever it was within the .xip
archive.
Useful / Additional Info:
$ pkgutil --check-signature file.xip
Xcode_9_beta_2.xip returns:
Package "Xcode_9_beta_2.xip":
Status: signed Apple Software
Certificate Chain:
1. Software Update
SHA1 fingerprint: 1E 34 E3 91 C6 44 37 DD 24 BE 57 B1 66 7B 2F DA 09 76 E1 FD
-----------------------------------------------------------------------------
2. Apple Software Update Certification Authority
SHA1 fingerprint: FA 02 79 0F CE 9D 93 00 89 C8 C2 51 0B BC 50 B4 85 8E 6F BF
-----------------------------------------------------------------------------
3. Apple Root CA
SHA1 fingerprint: 61 1E 5B 66 2C 59 3A 08 FF 58 D1 4A E2 24 52 D1 98 DF 6C 60
Notes:
Important: Starting with macOS Sierra, only XIP archives signed by
Apple will be expanded. Developers who have been using XIP archives
will need to move to using signed installer packages or disk images.
↳ OS X manual page : xip