"End-of-central-directory signature not found." 安装 Xcode 8 beta xip 文件时
"End-of-central-directory signature not found." when installing Xcode 8 beta xip file
我已经下载了 Xcode 8 beta .xip 文件。我无法解压缩。打开文件只是在那里坐了几个小时说 "Verifying..."
如果我从命令行尝试,我会得到以下...
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.
XIP 文件(就地解压)只是一个特殊的存档,用于验证 Apple 的解压文件。在 2014 MacBook Pro i7 上,Xcode 8 二进制文件需要 30 多分钟才能提取。如果文件在将近一个小时后没有取得太大进展,请重新下载存档并再次尝试解压。
此外,Xcode 8.0 测试版需要 Mac 运行 macOS 10.11.4 或更高版本。请确保您的系统版本受支持。
Xcode 8 Beta 2 注意:安装 Beta 2 需要 macOS 10.11.5 或更高版本。
.xip
文件格式包含一个存档(包含 gzip 存档和元数据的 xar)和存档的签名。 签名很重要,因为之前 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
输出应该是这样的:
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.cd 拖放 xcode(路径)然后输入
2.xattr -d com.apple.quarantine Xcode-beta.xip 输入
即使我是 运行 最新的 el capitan (10.11.5),我也遇到了同样的问题。根据 Chris P 的评论,我从 Recovery (https://support.apple.com/en-us/HT204904) 重新安装了 OS X,然后一切正常。显然,在我之前从 App Store 进行的更新中,有些东西没有正确安装。
重新启动我的系统对我有用。
我收到此错误并执行了以下操作:
简单的方法是升级您的 Mac OS x 版本 10.11.5 并尝试使用 Archive Utility 解压缩文件,它会提取 "XIP" 文件。
我升级了 mac os,这对我很有帮助。我能够摆脱解压缩错误。
希望对您有所帮助!
我也遇到了这个错误
我将我的 mac OS x 版本更新到 10.11.6。我认为 10.11.4 是
OS x 版本 Xcode 8 将 运行.
确保至少有 40 GB space 来解压缩 Xcode_8_beta_5.xip 或
Xcode_8_beta_2.xip
然后解压。这个 Xcode 版本比其他版本需要更多 space。
检查您的 Xcode 版本,它应该是最新的或者按照 Xcode 版本。希望这能解决您的问题。
我不确定为什么 Archive Utility 在处理这些档案时遇到这么多麻烦,但只要您的下载本身没有损坏,手动提取应用程序包对我来说一直有效。顺便说一句,我在 10.12 GM 种子 (16A320) 上。
Xcode.app
包在 CPIO 存档中,它是 xz
'd,然后打包到 v2(即 Yosemite)PBZX 流(如有效载荷Yosemite/Sierra 安装包)。结果流是与一些元数据捆绑在一起然后签名分发的内容。摆脱困境并不难,但需要一点努力。
(如果您想看看这是什么样子,here's a recording 我刚才正在做,包括文件大小和证书 SHA1 哈希值。)
验证签名存档的签名和证书链。
pkgutil --verbose --check-signature ./Xcode_8_GM_seed.xip
从存档中提取 PBZX 流。
xar -xf ./Xcode_8_GM_seed.xip
获取 PBZX v2 解包器并...解压打包的东西。
curl -O https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
python parse_pbzx2.py Content
解压存档(应该只有一个块,"part00")。
xz -d Content.part00.cpio.xz
以特权用户身份解压 CPIO 存档(因为设备框架有奇怪的符号链接,否则 cpio
会抱怨,无论如何它都需要由 root 拥有)并移动结果Xcode 应用程序捆绑到 /Applications
。
sudo cpio -idm < ./Content.part00.cpio
sudo mv ./Xcode.app /Applications/
它应该提示您在首次启动时执行 post 安装设置步骤。
重启系统对我有用。请检查一下。或者尝试关闭所有应用程序、Xcode、模拟器和所有。
确保 Mac OS 10.11.5 之后。
正在使用
- Xcode_8.1_beta.xip build 8T29o
- macOS Sierra 10.12.1 测试版 (16B2327e)
- 埃尔卡皮坦 10.11.6 (15G1004)
这是我所做的:
- 使用 Archive Utility 在 10.12 上提取
- 已将 Xcode-beta.app 复制到 10.11
- Xcode-beta.app 似乎在 10.11 上工作正常。
在 El Capitan 上,当我尝试使用 Archive Utility 提取与在 macOS Sierra 上提取的相同的已下载 .xip 文件时,Archive Utility 挂起。
我一直收到有关存档损坏的错误消息,因为我使用 The Unarchiver 作为我的解包程序。无论出于何种原因,它都无法处理数字签名检查,因此手动选择使用 Archive Utility 打开 .xip 文件为我解决了这个问题。
我已经下载了 Xcode 8 beta .xip 文件。我无法解压缩。打开文件只是在那里坐了几个小时说 "Verifying..."
如果我从命令行尝试,我会得到以下...
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.
XIP 文件(就地解压)只是一个特殊的存档,用于验证 Apple 的解压文件。在 2014 MacBook Pro i7 上,Xcode 8 二进制文件需要 30 多分钟才能提取。如果文件在将近一个小时后没有取得太大进展,请重新下载存档并再次尝试解压。
此外,Xcode 8.0 测试版需要 Mac 运行 macOS 10.11.4 或更高版本。请确保您的系统版本受支持。
Xcode 8 Beta 2 注意:安装 Beta 2 需要 macOS 10.11.5 或更高版本。
.xip
文件格式包含一个存档(包含 gzip 存档和元数据的 xar)和存档的签名。 签名很重要,因为之前 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
输出应该是这样的:
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.cd 拖放 xcode(路径)然后输入
2.xattr -d com.apple.quarantine Xcode-beta.xip 输入
即使我是 运行 最新的 el capitan (10.11.5),我也遇到了同样的问题。根据 Chris P 的评论,我从 Recovery (https://support.apple.com/en-us/HT204904) 重新安装了 OS X,然后一切正常。显然,在我之前从 App Store 进行的更新中,有些东西没有正确安装。
重新启动我的系统对我有用。
我收到此错误并执行了以下操作:
简单的方法是升级您的 Mac OS x 版本 10.11.5 并尝试使用 Archive Utility 解压缩文件,它会提取 "XIP" 文件。
我升级了 mac os,这对我很有帮助。我能够摆脱解压缩错误。
希望对您有所帮助!
我也遇到了这个错误
我将我的 mac OS x 版本更新到 10.11.6。我认为 10.11.4 是 OS x 版本 Xcode 8 将 运行.
确保至少有 40 GB space 来解压缩 Xcode_8_beta_5.xip 或 Xcode_8_beta_2.xip
然后解压。这个 Xcode 版本比其他版本需要更多 space。
检查您的 Xcode 版本,它应该是最新的或者按照 Xcode 版本。希望这能解决您的问题。
我不确定为什么 Archive Utility 在处理这些档案时遇到这么多麻烦,但只要您的下载本身没有损坏,手动提取应用程序包对我来说一直有效。顺便说一句,我在 10.12 GM 种子 (16A320) 上。
Xcode.app
包在 CPIO 存档中,它是 xz
'd,然后打包到 v2(即 Yosemite)PBZX 流(如有效载荷Yosemite/Sierra 安装包)。结果流是与一些元数据捆绑在一起然后签名分发的内容。摆脱困境并不难,但需要一点努力。
(如果您想看看这是什么样子,here's a recording 我刚才正在做,包括文件大小和证书 SHA1 哈希值。)
验证签名存档的签名和证书链。
pkgutil --verbose --check-signature ./Xcode_8_GM_seed.xip
从存档中提取 PBZX 流。
xar -xf ./Xcode_8_GM_seed.xip
获取 PBZX v2 解包器并...解压打包的东西。
curl -O https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py python parse_pbzx2.py Content
解压存档(应该只有一个块,"part00")。
xz -d Content.part00.cpio.xz
以特权用户身份解压 CPIO 存档(因为设备框架有奇怪的符号链接,否则
cpio
会抱怨,无论如何它都需要由 root 拥有)并移动结果Xcode 应用程序捆绑到/Applications
。sudo cpio -idm < ./Content.part00.cpio sudo mv ./Xcode.app /Applications/
它应该提示您在首次启动时执行 post 安装设置步骤。
重启系统对我有用。请检查一下。或者尝试关闭所有应用程序、Xcode、模拟器和所有。 确保 Mac OS 10.11.5 之后。
正在使用
- Xcode_8.1_beta.xip build 8T29o
- macOS Sierra 10.12.1 测试版 (16B2327e)
- 埃尔卡皮坦 10.11.6 (15G1004)
这是我所做的:
- 使用 Archive Utility 在 10.12 上提取
- 已将 Xcode-beta.app 复制到 10.11
- Xcode-beta.app 似乎在 10.11 上工作正常。
在 El Capitan 上,当我尝试使用 Archive Utility 提取与在 macOS Sierra 上提取的相同的已下载 .xip 文件时,Archive Utility 挂起。
我一直收到有关存档损坏的错误消息,因为我使用 The Unarchiver 作为我的解包程序。无论出于何种原因,它都无法处理数字签名检查,因此手动选择使用 Archive Utility 打开 .xip 文件为我解决了这个问题。