Using a VirtualBox Virtual Machine to Maintain iPad App Purchasing in iTunes – Post High Sierra

The recent High Sierra MacOS update brings us iTunes 12.7 which loses the ability to purchase apps for iPads associated with an Apple ID from within iTunes. There are convoluted methods of downgrading iTunes 12.7 to 12.6 to regain that capability, but it’s a pain to keep preventing Apple’s updates from forcing a user to lose this capability.

For most individual users, this isn’t much of an issue, but for institutional users, it makes it more complicated to acquire and distribute apps to iPads.

My solution is to build a VirtualBox machine with an original (un-updated) High Sierra MacOS with iTunes version 12.6. Whenever I need to access an Apple ID tied to a specific iPad account, I just fire up the MacOS VirtualBox, log into the associated iTunes account, acquire the needed app(s), and then log out. Since I have the iPads set up to auto-download apps purchased with the account, the apps typically show up on the device without additional intervention.

Let me know if you could benefit from a clone of my MacOS machine or need additional guidance on using VirtualBox.

Downgrade iTunes from 12.7 to 12.6

UPDATE:
This proves to be a roundabout way of downgrading iTunes. Please see this post on installing an older version of iMovie which is a much faster, more reliable method. Just change “iMovie” to “iTunes” and it works the same.

We use iTunes to manage several iPads on our campus. We log in from our iMacs and purchase apps that then automatically download to our devices. Unfortunately, iTunes lost support for iOS app purchases in version 12.7 in the October of 2017. Any time we update MacOS, I’m anticipating that we’ll need to downgrade iTunes to 12.6.2 to regain this functionality.

Apple doesn’t make this easy. One needs to first delete the current iTunes app, swap out the iTunes Library.itl file and then install 12.6.2.

If your Mac doesn’t allow you to delete iTunes, you’ll need to turn off  System Integrity Protection to do so:

  1. Restart your Mac, holding down Command-R until you see the Apple logo
  2. Once the computer boots, under the Utilities menu, open Terminal.
  3. Turn off SIP by entering the command csrutil disable.
  4. Enter reboot to restart your Mac

Once restarted, you should be able to remove iTunes. You should be able to do so in Finder or in Terminal with . sudo rm -rf /Applications/iTunes.app.

Now, in Finder, visit ~/Music/iTunes/ folder and locate the file named “iTunes Library.itl” and move it somewhere safe as a backup.

Then open the “Previous iTunes Libraries” folder and find the most recent dated iTunes Library file (these are labeled by the last iTunes install date). Copy this file and paste it into the iTunes/ folder and rename it “iTunes Library.itl”. I ran into issues doing it this way once and just deleted the iTunes Library file altogether. iTunes just made a new one in the next step.

Now, download iTunes 12.6.2 here and install it.

You should now be able to run iTunes 12.6.2 with access to the iOS App Store.

Finally, go back and turn SIP back on:

  1. Restart your Mac, holding down Command-R until you see the Apple logo
  2. Once the computer boots, under the Utilities menu, open Terminal.
  3. Turn off SIP by entering the command csrutil enable.
  4. Enter reboot to restart your Mac

If this fails, check out this solution from here:

1.turn off SIP as noted above
2.Mac restart
3.Enter this Terminal code (OK to copy all/paste into Terminal)

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

4.install iTunes 12.6.2 & restore Your backup file 「 iTunes Library.itl 」
5.turn on 「 MAC SIP 」
6.Disable iTunes update – terminal code:
sudo softwareupdate --ignore iTunesXPatch

Thanks to OSXDaily and Apple Discussion guy Niel for tips.