2020.03.19更新
最佳解决方案
系统版本升级到10.15 Catalina后安装Retroactive,打开后安装包含商店版本的iTunes即可。亲测有效(不适用与10.14 Mojave及更早版本)
2020.02.28更新
警告
通过此方法安装12.6.20版本,有概率出现iTunes无法链接苹果服务的情况,一般修复此情况只能系统还原,请谨慎操作。
操作方法
关闭SIP。
首先将电脑关机,按住组合键command+R 开机进入macOS的恢复模式(Recovery HD)。
进入的时候读条可能很慢耐心等待。之后找到顶部菜单栏的实用工具–终端,打开它。输入:
csrutil disable
。-
打开终端,使用命令行删除iTunes。
sudo rm -rf /Library/Documentation/Applications/iTunes/Acknowledgements.rtf /Library/Documentation/iPod/Acknowledgements.rtf /Library/Frameworks/iTunesLibrary.framework/ /Applications/iTunes.app/ /System/Library/PrivateFrameworks/iTunesAccess.framework/ /System/Library/LaunchDaemons/com.apple.fpsd.plist /System/Library/PrivateFrameworks/CoreFP.framework/ /System/Library/PrivateFrameworks/CoreADI.framework/ /System/Library/LaunchDaemons/com.apple.adid.plist /System/Library/CoreServices/UAUPlugins/ADIUserAccountUpdater.bundle/ /System/Library/CoreServices/CoreTypes.bundle/Contents/Library/MobileDevices.bundle/ /System/Library/LaunchDaemons/com.apple.usbmuxd.plist /System/Library/PrivateFrameworks/AirTrafficHost.framework/ /System/Library/PrivateFrameworks/DeviceLink.framework/ /System/Library/PrivateFrameworks/MobileDevice.framework/ /System/Library/Extensions/AppleMobileDevice.kext/ /System/Library/Extensions/AppleUsbEthernetHost
-
“启动台” - “其他” 文件夹 - 启动 “脚本编辑器”,复制下面代码并运行,安装12.6.20。
set question to display dialog "Delete iTtunes?" buttons {"Yes", "No"} default button 1 set answer to button returned of question if answer is equal to "Yes" then do shell script "rm -rf /Applications/iTunes.app" with administrator privileges display dialog "iTunes was deleted" buttons {"Ok"} set theDMG to choose file with prompt "Please select iTunes 12.6 dmg file:" of type {"dmg"} do shell script "hdiutil mount " & quoted form of POSIX path of theDMG do shell script "pkgutil --expand /Volumes/iTunes/Install\\ iTunes.pkg ~/tmp" do shell script "sed -i '' 's/18A1/14F2511/g' ~/tmp/Distribution" do shell script "sed -i '' 's/gt/lt/g' ~/tmp/Distribution" do shell script "pkgutil --flatten ~/tmp ~/Desktop/iTunes.pkg" do shell script "hdiutil unmount /Volumes/iTunes/" do shell script "rm -rf ~/tmp" end if if answer is equal to "No" then display dialog "iTunes was not deleted" buttons {"Ok"} return end if set question to display dialog "Install iTtunes?" buttons {"Yes", "No"} default button 1 set answer to button returned of question if answer is equal to "Yes" then do shell script "open ~/Desktop/iTunes.pkg" return end if if answer is equal to "No" then display dialog "Modified iTunes.pkg saved on desktop" buttons {"Ok"} return end if
打开应用程序-iTunes-显示包内容,替换Info.plist,version.plist,提取码:
pf6u
。在iTunes.app上右键,显示简介,先不要关闭简介窗口。然后还在iTunes.app上右键,显示包内容,找到Contents/Resources/iTunes.icns, 把这个文件拖入刚才的简介的窗口的左上角图标处,重新打开iTunes就不会是禁止图标了。
完成所有iTunes旧版安装步骤后,将电脑关机,按住组合键command+r开机进入macOS的恢复模式(Recovery HD)。之后找到顶部菜单栏的实用工具–终端,打开它。输入:
csrutil ensable
开启系统完整性保护。
Fix
-
如果打开 iTunes 12.6 提示无法读取文件“iTunes Library.itl”,因为它是由更高版本的 iTunes 所创建。
解决方法:点击“退出”按钮,打开文件夹/Users/管理员名称/Music/iTunes,删除 “iTunes Library.itl” 文件即可。或者直接sudo rm -rf ~/Music/iTunes/iTunes Library.itl一步到位。
-
打开iTunes时出现 an unknown errer occurred(-45076)。
解决方法:打开终端,复制一下代码删除iTunes。
sudo rm -rf /Library/Documentation/Applications/iTunes/Acknowledgements.rtf /Library/Documentation/iPod/Acknowledgements.rtf /Library/Frameworks/iTunesLibrary.framework/ /Applications/iTunes.app/ /System/Library/PrivateFrameworks/iTunesAccess.framework/ /System/Library/LaunchDaemons/com.apple.fpsd.plist /System/Library/PrivateFrameworks/CoreFP.framework/ /System/Library/PrivateFrameworks/CoreADI.framework/ /System/Library/LaunchDaemons/com.apple.adid.plist /System/Library/CoreServices/UAUPlugins/ADIUserAccountUpdater.bundle/ /System/Library/CoreServices/CoreTypes.bundle/Contents/Library/MobileDevices.bundle/ /System/Library/LaunchDaemons/com.apple.usbmuxd.plist /System/Library/PrivateFrameworks/AirTrafficHost.framework/ /System/Library/PrivateFrameworks/DeviceLink.framework/ /System/Library/PrivateFrameworks/MobileDevice.framework/ /System/Library/Extensions/AppleMobileDevice.kext/ /System/Library/Extensions/AppleUsbEthernetHost