MacOS – Why does Flashlight for Spotlight does not work on El Capitan

macosspotlight

Can anyone explain, on a deep level, why Flashlight for Spotlight does not work on El Capitan?

Best Answer

Flashlight for Spotlight works by injecting its own code into the Spotlight process. This is how it manages to "intercept" your interaction with Spotlight in order to enhance it.

El Capitan comes with "System Integrity Protection" (SIP) enabled by default. Amongst other things, SIP protects system processes, such as the Spotlight process, from code injection from other processes. Another example is that you can cannot attach a debugger to a system process when SIP is enabled. Therefore Flashlight for Spotlight cannot, in a factory default install, inject its code into Spotlight - and thus it doesn't work.

You can relatively easy disable SIP by booting to Recovery Mode and running csrutil disable and rebooting. It can be enabled again by running csrutil enable in Receovery mode. again.

If you disable SIP you can use Flashlight for Spotlight on El Capitan, but will miss out on the protection you get from having SIP enabled.