"找不到中心目录签名。"安装Xcode 8 beta xip文件时

时间:2016-06-14 12:54:59

标签: xcode xcode8

我已经下载了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.

12 个答案:

答案 0 :(得分:57)

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

强烈鼓励您尝试在查找器中使用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 :(得分:32)

我不确定为什么Archive Utility在这些档案中遇到这么多麻烦,但只要您的下载本身没有损坏,手动提取应用程序包对我来说是一致的。顺便说一句,关于转基因种子10.12(16A320)的问题。

Xcode.app捆绑包位于CPIO存档内,xz然后打包到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另有抱怨,并且无论如何都需要由root拥有)并将生成的Xcode应用程序包移入/Applications

    sudo cpio -idm < ./Content.part00.cpio
    sudo mv ./Xcode.app /Applications/
    
  6. 首次启动时,它应该提示您执行安装后设置步骤。

答案 2 :(得分:29)

XIP文件(就地提取)只是一个特殊的存档,用于验证Apple的unarchive。在2014年的MacBook Pro i7上,Xcode 8二进制文件需要30多分钟才能完成提取。如果文件在接近一小时后没有取得多大进展,请重新下载存档并尝试再次提取。

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

Xcode 8 Beta 2注意:安装Beta 2需要macOS 10.11.5或更高版本。

答案 3 :(得分:5)

打开终端

1.cd拖放你的xcode(路径),然后输入

2.xattr -d com.apple.quarantine Xcode-beta.xip enter

答案 4 :(得分:5)

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

enter image description here

答案 5 :(得分:2)

重启我的系统对我有用。

答案 6 :(得分: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

  3. 然后解压缩它。这个Xcode版本将比其他版本占用更多空间。

答案 7 :(得分:0)

即使我在运行最新的el capitan(10.11.5),我也遇到了同样的问题。基于Chris P的评论,我从Recovery(https://support.apple.com/en-us/HT204904)重新安装了OS X,然后一切正常。显然,在我之前从App Store发布的一个更新中没有正确安装某些内容。

答案 8 :(得分:0)

我收到了这个错误,我做了以下事情:

简单的方法是升级您的Mac OS x版本10.11.5并尝试使用Archive Utility解压缩文件,它将提取&#34; XIP&#34;文件。

我升级了我的mac os,这对我很有帮助。我能够摆脱解压缩错误。

希望这有帮助!

答案 9 :(得分:0)

检查您的Xcode版本应该是最新的还是根据Xcode版本。希望这能解决你的问题。

答案 10 :(得分:0)

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

答案 11 :(得分:0)

使用

这就是我的所作所为:

  • 使用Archive Utility
  • 在10.12提取
  • 将Xcode-beta.app复制到10.11
  • Xcode-beta.app似乎在10.11上运行正常。

在El Capitan上,当我尝试提取使用Archive Utility在macOS Sierra上提取的相同下载的.xip文件时,Archive Utility会挂起。