Posted at

macOS 10.14でiTunes 12.6.5を使う

macOS 10.14 Mojaveでは、Appの閲覧ができるiTunes12.6系の使用ができなくなりました。

これはWWDC2019でもあったような、iTunesアプリ解体のための方針のためですが、macOSでもAppStoreが閲覧したかったり、端末のアプリ管理がしたいケースはある気がします。

というか自分がしたい派なので入れてみました。


SIPを無効化

まずSIPを無効化します。

Mac OS X El CapiptanでSIPを無効化する - Qiita


  1. Macを再起動

  2. リンゴマーク前にcommand+Rを押しっぱなし

  3. リカバリモードでユーティリティ→ターミナルでターミナル起動

  4. ターミナルにcsrutil disableを入力


  5. reboot入力などで再起動.

これでSIPはオフになりました。

作業後に必要に応じてcsrutil enableします。


iTunes12.6.5をダウンロード

まだ、公式サイトにダウンロードリンクが存在するため、こちらからダウンロードしましょう。

企業環境で iTunes を使って App を配布する - Apple サポート


中身を出してinstall script書き換えてインストール

ここら辺はPacifist(CharlesSoft)を使う方法と普通にターミナルで書き換える方法があります。


Pacifist

こちらがpacifist使用例。

- macOS MojaveでApp Storeが使えるiTunes 12.6.5.3にダウングレードして使用する方法 | Will feel Tips

バージョンチェックが追加されたのか、pacifistだとうまくいかなかったのでもう一つの方法をやりました。


スクリプト

こちらで変更方法が共有されていました。

Apple's Special Version of iTunes That Still Has an App Store Currently Incompatible With macOS Mojave | Page 8 | MacRumors Forums

この回答内容だと、AppleScriptを作成して、それを実行することで書き換えられますが、sedで書き換えてるだけなので、普通にterminalで実行もできます。

# 元のiTunes削除

$ sudo rm -rf /Applications/iTunes.app

# ダウンロードしたdmgをマウントしてpkg展開
$ hdiutil mount ~/Downloads/iTunes12.6.5.dmg
$ pkgutil --expand /Volumes/iTunes/Install\ iTunes.pkg ~/tmp

# インストールスクリプトを書き換え
$ sed -i '' 's/18A1/14F2511/g' ~/tmp/Distribution
$ sed -i '' 's/gt/lt/g' ~/tmp/Distribution

# リパッケージしてアンマウント、tmp削除
$ pkgutil --flatten ~/tmp ~/Desktop/iTunes.pkg
$ hdiutil unmount /Volumes/iTunes/
$ rm -rf ~/tmp

# リパッケージしたpkgファイルを実行
$ open ~/Desktop/iTunes.pkg

# インストール後にiTunes.app/Contents/Info.plistのバージョンをごまかします。
$ sudo sed -i '' 's/12.6.5/12.9.4/g' /Applications/iTunes.app/Contents/Info.plist

# 必要に応じてローカルライブラリを削除します。
$ rm ~/Music/iTunes/iTunes\ Library.itl

これで普通にiTunes12.6.5がインストールできました。

Mac AppStoreでもアップデートのお知らせ等は出ないはずです。


必要に応じて:SIPを有効化

SIPはセキュリティ面で有効なので、逆の手順で有効化しておきます。

リカバリモードで、csrutil enableを実行します。


まとめ

最近では、iTunesでiOSのアプリとかを同期管理することも少なくなりました。

なのでこの記事は最後の悪あがきですね。

macOS 10.15ではFinderで管理できるらしいですが、アプリの同期はできないような気もします。。

上の記事のスクリーンショットとかでもアプリは表示されてないですし。。

iOS 13では古いiTunesでの同期も禁止されそうですね。