我已经下载了Xcode 8 beta .xip文件.我无法解压缩.打开文件只是坐了几个小时说"验证......"
如果我从命令行尝试,我得到以下...
Downloads unzip Xcode_8_beta.xip
Archive: Xcode_8_beta.xip
End-of-central-directory signature not found. Either this file
is not a zipfile, or it constitutes one disk of a multi-part archive.
In the latter case the central directory and zipfile comment will be
found on the last disk(s) of this archive. unzip: cannot find
zipfile directory in one of Xcode_8_beta.xip or Xcode_8_beta.xip.zip,
and cannot find Xcode_8_beta.xip.ZIP, period.
Run Code Online (Sandbox Code Playgroud)
Fre*_*obs 57
的.xip文件格式包含一个归档(XAR含有一个gzip归档和元数据)和存档的签名.该签名是很重要的,因为以前的Xcode下载已经改变(如XcodeGhost)注入恶意代码到应用中.因此,跳过验证(xattr -d com.apple.quarantine Xcode_8_beta.xip)的方法似乎是不负责任的.
我强烈建议你尝试用Archive Utility.app你的取景器打开它.如果签名检查不起作用,请尝试重新下载.
如果您想调查是否.xip有效签名或出于何种原因想要在没有Archive Utility的情况下展开它,您可以使用pkgutil:
pkgutil --check-signature Xcode_8_beta.xip
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的:
Package "Xcode_8_beta.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
Run Code Online (Sandbox Code Playgroud)
如果该签名未由您的钥匙串中的Apple Root CA签名,那么您应该就此停在那里.如果到目前为止一切都很好,则可以运行以下命令:
xar -xf Xcode_8_beta.xip
sudo tar zxvf Content
Run Code Online (Sandbox Code Playgroud)
小智 33
我不确定为什么Archive Utility在这些档案中遇到这么多麻烦,但只要您的下载本身没有损坏,手动提取应用程序包对我来说是一致的.顺便说一句,我是10.12转基因种子(16A320).
该Xcode.app捆绑包位于CPIO存档内,xz然后将其打包到v2(即优胜美地)PBZX流中(如Yosemite/Sierra安装包中的有效负载).产生的流是与一些元数据捆绑在一起的,然后签名分发.从一切混乱中解脱出来并不难,但需要花费一点力气.
(如果你想看看它是什么样的,这里是我刚才做的记录,包括文件大小和证书SHA1哈希.)
验证签名存档的签名和证书链.
pkgutil --verbose --check-signature ./Xcode_8_GM_seed.xip
Run Code Online (Sandbox Code Playgroud)从存档中提取PBZX流.
xar -xf ./Xcode_8_GM_seed.xip
Run Code Online (Sandbox Code Playgroud)获取PBZX v2解包器并解压缩打包的东西.
curl -O https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
python parse_pbzx2.py Content
Run Code Online (Sandbox Code Playgroud)解压缩存档(应该只有一个块,"part00").
xz -d Content.part00.cpio.xz
Run Code Online (Sandbox Code Playgroud)将CPIO存档解压缩为特权用户(因为设备框架具有奇怪的符号链接,cpio否则它们需要由root拥有)并将生成的Xcode应用程序包移入/Applications.
sudo cpio -idm < ./Content.part00.cpio
sudo mv ./Xcode.app /Applications/
Run Code Online (Sandbox Code Playgroud)它应该在首次启动时提示您执行安装后设置步骤.
JAL*_*JAL 29
XIP文件(就地提取)只是一个特殊的存档,用于验证Apple的unarchive.在2014年的MacBook Pro i7上,Xcode 8二进制文件需要30多分钟才能完成提取.如果文件在接近一小时后没有取得多大进展,请重新下载存档并再次尝试解压缩.
此外,Xcode 8.0 beta需要运行macOS 10.11.4或更高版本的Mac.确保支持您的系统版本.
Xcode 8 Beta 2注意:安装Beta 2需要macOS 10.11.5或更高版本.
我一直收到有关存档损坏的错误消息,因为我使用Unarchiver作为我的解包程序.无论出于何种原因,它都无法处理数字签名检查,因此手动选择使用Archive Utility打开.xip文件为我排序问题.
开放式终端
1.cd拖放你的xcode(路径)然后输入
2.xattr -d com.apple.quarantine Xcode-beta.xip enter
| 归档时间: |
|
| 查看次数: |
46903 次 |
| 最近记录: |