wiki:WebKitNightlyElCapWorkaround

Version 14 (modified by timothy@apple.com, 8 years ago) (diff)

Update to the latest workaround.

Note: You only need to apply this workaround if you are running OS X El Capitan 10.11.4 — OS X El Capitan 10.11.2 and 10.11.3 work as expected. OS X El Capitan 10.11 and 10.11.1 required a different workaround that was included in the OS X El Capitan 10.11.2 software update — see the wiki history for this page for the older workaround if you need it.

With the introduction of OS X El Capitan and the System Integrity Protection security feature, WebKit nightlies and the run-safari WebKit command no longer works. They still launch, but the latest WebKit frameworks are ignored and the system version of WebKit is used. This is because our use of DYLD_FRAMEWORK_PATH is ignored when launching the system Safari (specifically the SafariForWebKitDevelopment binary in the Safari app bundle). If you update your Mac from a previous version of El Capitan to 10.11.4, the SafariForWebKitDevelopment binary gets flagged as "restricted", preventing the WebKit nightly from loading its bundled WebKit frameworks. We are exploring a fix for this in a software update, but until then you can apply the following workaround.

Note: This workaround is not for the faint of heart, and requires you to run commands while booted into the system recovery partition. Proceed with caution.

Steps

  1. Print out this page or load it up on a different device for reference.
  2. Reboot the machine you want to apply the workaround to with the Command and R keys held down. (See About OS X Recovery.)
  3. When the Mac OS X Utilities window appears, select the Utilities menu in the menubar and pick Terminal.
  • Note: FileVault users will need to go to Disk Utility or use diskutil first to unlock their secure partitions.
  1. In the Terminal window, type: cd /Volumes && ls -l
  2. Find the name of your main boot partition, it is usually something like Macintosh HD.
  3. Type: cd "Macintosh HD" (or whatever name your boot partition is called).
  4. Type: chflags norestricted Library/Application\ Support/Apple/Safari/SafariForWebKitDevelopment
  5. Now you can select Restart from the  menu.

The WebKit nightlies should work as expected after you restart. This workaround will persist and not interfere with future software updates, so there is no need to revert it later. However, you might need to reapply this workaround after updating to a future 10.11.5.