Question

Installing Safari beta version is apparently only possible by replacing the builtin Safari version. In this case version 11.1.2 with 12. If beta version does not work, gives too much trouble or is just unpleasant:

How do we downgrade to an official stable version, currently Safari 11.1.2 for 10.12.6 Sierra?

I tried to restore everything relating to 11.1.2 from a backup (going by what is found that is in the installer package), I located and re-applied the 11.1.2_Sierra.pkg. Yet Safari now refuses to work entirely.

Crashed Thread:        3  Dispatch queue: com.apple.SafariCore.RemotePlistController.internalQueue

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[_NSPlaceholderData initWithContentsOfURL:options:error:]: nil URL argument'
terminating with uncaught exception of type NSException
abort() called

Is there any way around re-installing the entire system?

No correct solution

OTHER TIPS

This applies to Safari 12 final as well.

Overview of options

  1. Restore your machine from backup.
    Depending on methods this might take a while. You also have to make sure to turn off Auto-Update in System Preferences > App Store or your joy with good ole Safari 11 will be short lasting. You may want to this either before or while you restore. It might be a nice idea to disconnect form any network to make sure that auto-updates really do not come through. (Disconnect from ethernet or turn off Wi-Fi.)

  2. Re-install your OS.
    That is up to the latest update but excluding the very latest one that contains Safari 12. Which one depends on the OS you are using. This usually takes even longer and you also have to make sure to not re-install Safari 12. That means take control away from auto-update as soon as possible in the process, but be sure to manually install all other updates.

  3. Keyhole surgery to replace really only files that are strictly necessary. This is much faster than both options above, but a bit more complicated. System Integrity Protection needs to be disabled temporarily. Procedure is outlined below.

All three cases require you to turn off auto-updating.
All three cases require you to manually install all future updates that Apple offers to you via the AppStore application, including security updates.


Keyhole surgery

for reverting the files associated to Safari 12 back to Safari 11

Simply deleting the application or replacing the application with a previous version will not work. The (beta) version 12 is not self-contained but distributed as an installer that writes a lot of files into locations different from /Applications.

To do this downgrade you may need to have a recent backup of the system or an installer package of for example Safari 11.1.2 for Sierra (link might change quickly or disappear altogether. Also, try to use the latest applicable version) ready and an application like Pacifist. (High Sierra users might have to revert to download http://updates-http.cdn-apple.com/2018/macos/091-94327-20180709-5409BA12-7C10-11E8-84CF-4F47544C24EB/macOSUpdCombo10.13.6.dmg and extract the files from there. Still quicker than restoring from TimeMachine or a full downgrading re-sinstall.)

This is necessary because simply re-running the Safari 11.1.2 over the version 12 (beta) installation will not work either. The Safari (beta) installer writes many more files than the installer for the regular version 11.1.2 –– and these do not play nice with the installation of 11.1.2.

Therefore you need to disable SIP, open the Safari 11.1.2 package with Pacifist and find the following locations upgraded by that update.

/Applications/Safari.app
/System/Library/Accounts/Notifications/CloudBookmarks/AccountsNotifier.bundle
/System/Library/CoreServices/SafariSupport.bundle
/System/Library/Frameworks/SafariServices.framework
/System/Library/LaunchAgents/com.apple.Safari*.plist
/System/Library/Preferences/Logging/Subsystems/com.apple.Safari*.plist
/System/Library/PrivateFrameworks/WebDriver.framework
/System/Library/StagedFrameworks/Safari

(Optional: Compare that with the installation package for the beta version.)
Delete exactly these files and folders with their contents, nothing more, nothing less.

Then restore these Safari files from backup or in this case better yet: simply re-run the 11.1.2 package installation.

Generally, the "restore from backup" version is preferred, as Apple often forgets to really include everything needed for a self-contained installation (like the occasional info.plist file) making the re-run 11.1.2 installer method alone potentially a bit dubious.


Now that Safari 12 is out of beta and forced out onto everyone's Mac with SoftwareUpdate you of course need to uncheck "install updates automatically" in System Preferences > App Store pane. Otherwise the above procedure will be undone in a short amount of time.

Profit and surf on Safari 11 for as long as you can get away with not updating. Again: make sure to manually apply security and other updates if you previously relied on that procedure being done for you in the background.


The above seems to work fine for system up to macOS Sierra and High Sierra. Therefor comments regarding these procedures on Mojave are mmore than welcome.

You can always just erase your mac once you’re don’t testing a preview and restore from the backup you made before the preview in the worst case if the data structures and breferences break. This is typically the best way to revert beta since Apple does break things in beta - that’s the point of that phase of development.

In practice, you can often restore the current backup to a clean os since Safari tech preview is more lightheaded than the entire OS being beta.

I appreciate people who disable SIP and then make a list of changed files, but then you also may need to clear all the quicklook previews, all the /private/var/folders cached files and data, keychain certificates, autocorrect, saved cookies and passwords, precompiled javascript, and probably a bunch of other things I’m forgetting. For me, it’s always quicker to just erase, reinstall, ingrate from a backup I think will work, then pick up any data files that I need from the newer backup. That takes me three 15 minute work sessions and then waiting for installs / migrations run by doing something else away from the computer. When things go smoothly, it’s more like 3-5 minutes of my time.

Just FYI (and as requested by LangLangC): I followed the “Keyhole surgery” instructions above by LangLangC on macOS Mojave (10.14.3), rebooting after installing the Safari11.1.2Sierra.pkg, and upon reboot, the Finder and the SafariBookmarksSyncAgent kept crashing repeatedly.

The simplest solution for me was to just do the 10.14.4 upgrade.

A simple two-step solution that is equivalent to @LangLangC "keyhole surgery" answer:

  1. Use pkg-uninstall (make sure to read the instructions)
  2. Reinstall the most recent macOS Combo Update

I just did this to remove Safari 13b4 and go back to Safari 12.1.2 on Mojave.

Licensed under: CC-BY-SA with attribution
Not affiliated with apple.stackexchange
scroll top