简介

今天打开一个 Xcode 工程,发现必须要 Xcode 9.3,但我本地系统是 macOS 10.12.6 我暂时还不想升级到新版系统,但是又想构建这个工程,只有一个办法:虚拟机!

但是虚拟机安装要么是从 recovery 目录读取,要么从 iso 文件创建,我现在系统里面有 high Sierra 的安装包,但并不是 iso 文件,所以我需要将其转换为 iso。

开工

一定要注意,当前是默认你的 Install macOS Sierra.app 文件位于 /Applications/Install\ macOS\ Sierra.app 的,如果你的目录不一样,只需将下面第一条命令中对应路径替换成你的路径即可😉

1.

1
hdiutil attach /Applications/Install\ macOS\ Sierra.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app

2.

1
hdiutil create -o /tmp/Sierra.cdr -size 7316m -layout SPUD -fs HFS+J

3.

1
hdiutil attach /tmp/Sierra.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/install_build

4.

1
asr restore -source /Volumes/install_app/BaseSystem.dmg -target /Volumes/install_build -noprompt -noverify -erase

5.

1
rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages

6.

1
cp -rp /Volumes/install_app/Packages /Volumes/OS\ X\ Base\ System/System/Installation/

7.

1
cp -rp /Volumes/install_app/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/BaseSystem.chunklist

8.

1
cp -rp /Volumes/install_app/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/BaseSystem.dmg

9.

1
hdiutil detach /Volumes/install_app

10.

1
hdiutil detach /Volumes/OS\ X\ Base\ System/

11.

1
hdiutil convert /tmp/Sierra.cdr.dmg -format UDTO -o /tmp/Sierra.iso

12.

1
mv /tmp/Sierra.iso.cdr ~/Desktop/Sierra.iso

OK,到此为止,你就能在桌面看见一个 iso 文件了