Apple 于 2017 年 9 月 13 日发布了 iTunes 12.7 版本,其最大的变化在于移除了 iOS App 管理功能。

移除掉此功能,对于我们来说最大的影响在于:

  • 无法备份 App 的原始 .ipa 文件。
  • 恢复 iOS 设备的备份时,所有 App 都需要重新联网下载。

上述第一点带来的负面影响,前段时间不少用户都应该感受到了,Sxxge,Shxxxxxxxket,Poxxxso 等 App 都被 Apple 以违反相关法律法规为由在中国区 App Store 下架,即使这些 App 在「已购项目」显示出来了,也无法下载。

也就是说,如果用户没有备份这些 App 的 .ipa 文件,一旦现有设备上删除了这些 App,或者购买了新的 iOS 设备,在账号不转区的情况下,就再也无法使用它们了。

遭遇到同样待遇的还有一大堆第三方 YouTube 客户端如 ProTube,被 Apple 在全球所有 App Store 下架,开发者在自己博客上讲述了这一经历。

为了防止喜爱的 App 突然被下架,导致自己没有 App 可用,提前备份 .ipa 文件算是最好的方案。因此,降级回能够备份 .ipa 文件的 iTunes 12.6.2 对于有此需求的用户是必要的操作。

Windows 系统下的操作十分简单,卸载新版 iTunes,再安装旧版本即可。下文主要讲讲如何在 macOS 下完成降级操作。

在 macOS High Sierra 下进行降级操作

由于 macOS High Sierra 更新了一些 Frameworks,所以 iTunes 12.6.2 无法直接在 High Sierra 中正常运行,需要使用旧版本 Frameworks 替换掉系统中新版本 Frameworks。

此操作涉及修改系统文件,因此需要关闭 macOS 的 System Integrity Protection。

注意,关闭 System Integrity Protection 以及后续替换系统 Frameworks 文件等操作可能会带来一些潜在威胁,导致系统不稳定,笔者只能说自己实践后没有发现系统出现不稳定的情况。读者朋友们请考虑清楚,自己能否承担此操作带来的潜在风险,再决定是否继续。

关闭 macOS 的 System Integrity Protection

关闭 macOS 的 System Integrity Protection 并不复杂,具体操作如下:

  1. 启动 macOS 时同时按住键盘上的 ⌘ 键和 R 键,直到电脑屏幕显示白色 Apple 标志;
  2. 等待进度条走完,进入 macOS 的恢复模式;
  3. 在「实用工具」菜单内找到 「终端」并打开,输入命令 csrutil disable 回车即可。
  4. 重启系统后,就可以对系统文件进行删除、重命名等操作了。

执行 iTunes 降级操作

IPSW Download 网站下载 iTunes12.6.2.dmg 镜像,打开镜像,并将里面的 Install iTunes.pkg 文件复制到任意文件夹(本例中放在桌面)。

iTunesdmg

使用 Pacifist 打开此 Install iTunes.pkg,将里面的 iTunesX.pkgiTunesAccess.pkgCoreFP.pkgCoreADI.pkg 文件复制到任意文件夹(本例中放在桌面),这些 pkg 文件将被自动解压成同名文件夹。

iTunespkg

将上面第三步获得的文件夹依次展开,将里面的各个文件复制到各自的目标文件夹,替换掉同名文件。

Frameworks

比如上图,iTunesX Folder 文件夹中的 /Application/iTunes.app,将它复制到系统的 /Application 文件夹中,替换掉原本在那儿的 iTunes.app;再比如此文件夹中的 /Library/Frameworks/iTunesLibrary.framework,需要将它复制到系统的 /Library/Frameworks/ 文件夹中,替换掉原本就存在于那里的 iTunesLibrary.framework

直接把文件拖拽过去可能无法成功。我们需要先修改系统目录中同名文件的权限为「可读写」,使当前用户有权限对其删除、重命名。将系统原文件删除或者重命名后,再将桌面对应文件夹中的对应文件复制过去。

Permission

至此,iTunes 本身的降级操作就完成了。接下来还需要恢复老版本 iTunes 创建的资料库。

恢复老版本 iTunes 资料库

iTunes 12.6.2 版本无法直接读取 iTunes 12.7 创建的资料库,需要将老版本资料库恢复后,才能正常读取,操作也十分简单:

  1. 打开 ~/Music/iTunes 文件夹,将文件 iTunes Library.itl 删除或者改名;
  2. 打开 ~/Music/iTunes/Previous iTunes Libraries/ 文件夹,将其中老版本 iTunes 创建的资料库文件复制到 ~/Music/iTunes 文件夹,并命名为 iTunes Library.itl

执行完上面的操作后,就可以在 macOS High Sierra 中使用 iTunes 12.6.2 了。

注意,由于我没有购买 iPhone 8,不确定 iTunes 12.6.2 能否正常管理 iPhone 8 内的资料,请自行测试。

在 macOS Sierra 下进行降级操作

在 macOS Sierra 下进行降级操作,步骤简便许多,需要的文件、技巧,上文都已经提到过。具体步骤如下:

  1. 下载 iTunes12.6.2.dmg 镜像;
  2. 关闭 macOS System Integrity Protection 后将 iTunes 12.7 的 .app 文件从「应用」文件夹里删除;
  3. 运行 iTunes12.6.2.dmg 镜像里的 Install iTunes.pkg 进行安装。
  4. 恢复老版本 iTunes 创建的资料库。

执行完上面四步操作,就可以继续在 macOS Sierra 中使用 iTunes 12.6.2 了。

提醒

降级回旧版本 iTunes 12.6.2 使得我们可以继续备份 App 的 .ipa 文件,避免了 App 下架后无 App 可用的问题。但再次提醒读者,由于上面的操作涉及系统文件的修改,可能有潜在的风险,可能影响系统的稳定性,请读者们权衡其中的利弊后,再决定是否进行降级的操作。