2016-06-14 112 views
41

我已经下载了Xcode 8 beta .xip文件。我无法解压缩。打开该文件只是坐在那里好几个小时说“验证......”“未找到中央目录签名末尾”。当安装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. 
+5

尝试再次下载文件。听起来像是损坏了。你能比较一下它在下载网站上的散列吗? – TylerH

+1

检查你的OSX版本它应该是最新的w.r.t Xcode版本。 – kamleshwar

+0

Xcode_8_beta_6只需要更新到OSX 10.11.5,我有15 GB的可用磁盘空间。 –

回答

29

的XIP文件(到位提取物)仅仅是一个验证与苹果公司不存档的特殊档案。在2014年的MacBook Pro i7上,Xcode 8二进制文件花费了30分钟时间来提取。如果文件在接近一个小时后没有取得很大进展,请重新下载存档并再次尝试提取。

此外,Xcode 8.0 beta需要运行macOS 10.11.4或更高版本的Mac。确保您的系统版本受支持。

的Xcode 8 Beta 2的注释:MACOS 10.11.5或以后需要安装贝塔2.

+3

原来我错过了El Capitan的更新,它不允许我前进,也从不抛出错误。 –

+0

@chrisP啊好电话,我会将这些信息添加到我的答案中,以帮助未来的访问者。 – JAL

+0

它只花了2分钟在2015 MacBook Pro 2.9Ghz i5上。 – sleepwalkerfx

57

.xip文件格式包含一个归档和存档的签名(含有一个gzip归档和元数据XAR)。 签名很重要,因为之前的Xcode下载已被更改(例如XcodeGhost)以将恶意代码注入应用程序。因此,像跳过验证(xattr -d com.apple.quarantine Xcode_8_beta.xip)这样的方法似乎是不负责任的。

强烈鼓励您尝试在您的finder中用Archive Utility.app打开它。如果签名检查不起作用,请尝试重新下载。

如果你想调查.xip是否进行了有效签名或者出于某种原因想扩大它没有存档工具,你可以使用pkgutil

pkgutil --check-signature Xcode_8_beta.xip 

输出应该是这样的:

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 

如果该签名不是由您的钥匙串中的Apple Root CA签署的,那么您应该停在那里。如果所有的已经很不错了,你就可以运行下面的命令:

xar -xf Xcode_8_beta.xip 
sudo tar zxvf Content 
+1

您确定'xattr -d com。 apple.quarantine'跳过验证?我怀疑这个签名应该放在档案里面。另外我不认为你必须通过sudo调用tar。 – Zorg

+3

Archive Util是唯一对我有用的解决方案。谢谢! – gutte

+0

我不得不跳过验证才能解开这个东西。耸耸肩。 (pkgutil嘘这是一个有效的签名) –

5

打开终端

1.cd拖放您的Xcode(用于路径),然后进入

2.xattr -d com.apple.quarantine Xcode-beta.xip输入

+2

这完全绕过了xip文件上的签名检查,破坏了这种存档格式的用途。 – sgonzalez

+7

@sgonzalez是啊...我们有些人需要在某个时间点上班。如果苹果能够以一种不需要我在4个小时内呕吐的方式来部署内容,那么我会非常喜欢它,尤其是在我尝试做的所有事情之前。但也许一个免责声明会很好。 – mpowered

+0

+1这个。我有一种感觉,我将来会更经常需要它。等待30分钟看“验证档案”的原因是什么? –

0

即使我运行最新的el capitan(10.11.5),我也遇到了同样的问题。基于克里斯P的评论,我重新安装OS X从恢复(https://support.apple.com/en-us/HT204904),然后一切正常。很显然,我之前从App Store更新过的东西中没有正确安装。

2

重新启动我的系统对我来说很有用。

0

我得到这个错误,我做了以下内容:

简单的办法是升级您的Mac OS X版本10.11.5并尝试使用归档实用程序解压缩文件,它会提取“XIP”文件。

我升级了我的mac os,这帮了我。我能够摆脱解压错误。

希望这会有所帮助!

+0

正确!支持配置 - “Xcode 8测试版需要运行macOS Sierra beta 3或更高版本的Mac或OS X El Capitan 10.11.5或更高版本的Mac。 “ –

2

我也收到此错误

  1. 更新我的Mac OS X版本10.11.6。我认为10.11.4是Xcode 8将运行的最低OS X版本。

  2. 请确保您有40 GB最小空间解压Xcode_8_beta_5.xip或 Xcode_8_beta_2.xip

然后解压缩。这Xcode版本将需要更多的空间,然后其他人。

0

检查您的Xcode版本,它应该是最新的或按照Xcode版本。希望这能解决你的问题。

30

我不确定为什么Archive Utility对这些档案有太多的麻烦,但只要你的下载本身没有损坏,手动解压缩应用程序包对我来说一直工作。顺便说一句,我是10.12转基因种子(16A320)。

Xcode.app包位于CPIO存档中,该存档为xz'd,然后打包到v2(即Yosemite)PBZX流(如Yosemite/Sierra安装包中的有效内容)。结果流是与某些元数据捆绑在一起,然后签署分发。从混乱中解脱并不难,但需要一点努力。

(如果你想看看这是什么样子,我的here's a recording做刚才,完整的文件大小和证书SHA1哈希值。)

  1. 验证签署的签名和证书链档案。

    pkgutil --verbose --check-signature ./Xcode_8_GM_seed.xip 
    
  2. 从存档中提取PBZX流。

    xar -xf ./Xcode_8_GM_seed.xip 
    
  3. 获得一个PBZX v2解包器,并...解压缩包装的东西。

    curl -O https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py 
    python parse_pbzx2.py Content 
    
  4. 解压档案(应该只有一个块,“part00”)。

    xz -d Content.part00.cpio.xz 
    
  5. 解压CPIO存档为特权用户(因为该设备框架有奇怪的符号链接,使cpio否则抱怨,并且需要将其通过根无论如何拥有)和移动所产生的Xcode应用束引入/Applications

    sudo cpio -idm < ./Content.part00.cpio 
    sudo mv ./Xcode.app /Applications/ 
    

应该提示你做安装后在第一次启动的设置步骤。

+6

谢谢。 同样在第3步之后,您可以使用”The Unarchiver“应用程序解压缩Content.part00.cpio.xz。 – krafter

+2

当您的系统上没有xz工具时,你可以用“sudo cpio -izmdu 0 konran

+0

执行“sudo cpio - izmdu 0 NinjaCoder

0

重新启动系统为我工作。请检查它。或者尝试关闭所有应用程序,Xcode,模拟器等。 确保Mac OS 10.11.5以上。

0

使用

这里就是我所做的:

  • 使用归档工具在10.12上提取
  • 复制Xcode-beta.app到10.11
  • Xcode-beta.app似乎在10.11正常工作。

在El Capitan上,当我尝试提取使用归档实用程序在macOS Sierra上提取的相同下载的.xip文件时,归档实用程序挂起。

4

我一直收到关于存档被损坏的错误消息,因为我使用The Unarchiver作为我的解包程序。无论出于何种原因,它都无法处理数字签名检查,因此选择使用Archive Utility打开.xip文件为我排序问题。

enter image description here