Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何使用命令行提取xip归档文件?_Xcode_Macos_Xcode8_Osx Elcapitan_Macos Sierra - Fatal编程技术网

Xcode 如何使用命令行提取xip归档文件?

Xcode 如何使用命令行提取xip归档文件?,xcode,macos,xcode8,osx-elcapitan,macos-sierra,Xcode,Macos,Xcode8,Osx Elcapitan,Macos Sierra,我搜索了如何使用命令行提取XIP归档文件,但运气不好,所以我在这里留下了自己的解决方案,作为bash函数 我找到了灵感。函数unxip() { [-z“$1”]&&echo“用法:unxip/path/to/archive.xip”&&return # http://newosxbook.com/src.jl?tree=listings&file=pbzx.c PBZX=“/usr/local/src/PBZX/PBZX”&&&&[!-x“$PBZX”]&&echo“$PBZX未找到”。&&re

我搜索了如何使用命令行提取XIP归档文件,但运气不好,所以我在这里留下了自己的解决方案,作为
bash
函数

我找到了灵感。

函数unxip()
{
[-z“$1”]&&echo“用法:unxip/path/to/archive.xip”&&return
# http://newosxbook.com/src.jl?tree=listings&file=pbzx.c
PBZX=“/usr/local/src/PBZX/PBZX”&&&&[!-x“$PBZX”]&&echo“$PBZX未找到”。&&return
[!-f“$1”]&回显“$1未找到”。&返回
[-f“内容”]|【-f“元数据”]&&echo“内容或元数据已存在。”&&return
pkgutil--检查签名“$1”和&xar-xf“$1”和“$PBZX”内容| sudo tar x--条带组件=1
rm“内容”“元数据”
}
我们首先检查
xip
文件签名,然后使用
xar
提取其内容。然后,我们使用Jonathan Levin正确地解压
pbzx
块,并将输出传输到
tar
,跳过
,以避免覆盖当前的工作目录权限

这是在OS X El Capitan上解包
Xcode8.xip
存档的诀窍。

您可以运行:

open archive.xip

open-W archive.xip将工作得更好,因为它会一直阻塞,直到归档文件打开完毕。

您可以尝试:

xip-x[指向.xip文件的路径]

使用。您可以使用自制软件安装它:

brew install thii/unxip/unxip
要提取
.xip
文件:

unxip path/to/.xip
在macOS Mojave上(不确定其他操作系统版本),导航到要展开内容的目录,然后运行
xip--expand/path/to/xip.xip
。例如:

iMac:Applications jeff$ xip --expand /Users/jeff/Downloads/Xcode_11_Beta.xip

从CI的角度来看,这是不可取的,因为当使用本机工具(/System/Library/CoreServices/Applications/Archive Utility.app/Contents/MacOS/Archive Utility)时,需要安装第三方应用程序安装在系统上的已执行此工作。@ablarg从CI的角度来看:如何将存档实用程序切实集成到shell脚本中以实现自动化?可以用脚本吗?或者您想过双击XIP存档吗?@rexford,如果您只需从终端启动bomArchiveHelper并在当前目录中解压XIP并将阻止,直到解压完成。我一直使用它通过Jenkins中的shell调用打开Xcode.xip。-W标志告诉shell在继续之前等待调用的应用程序退出。向上投票,但请参阅下面更简单的解决方案:
brew安装thii/unxip/unxip
也正确地解压Xcode归档,与Apple工具不同。(但它需要从源代码处编译
pbzx
工具,还需要构建一个自定义库……)我刚刚检查过,在macOS High Sierra(10.13.6)中,这个命令也可以工作,但奇怪的是,“man xip”中没有提到。我遇到了一些身份验证问题,从developer.apple.com重新下载该文件可以清除它。解压XCode 10.1无法使用Unarchiver。。。但这成功了,谢谢!