It won't work on other OS's because it's a binary patch (and it verifies the checksum before doing anything. If you happen to be on the final build of 10.9.5 (13F1911), here's a little shell script that will do everything for you. The procedure I described above-replacing instances of "iTunes" with "Finder" in the Binary-does work, however. The "Where Is iTunes" prompt isn't coming from rcd, but from AVRCPAgent.app, aka /System/Library/CoreServices/AVRCPAgent.app/Contents/MacOS/AVRCPAgent /System/Library/CoreServices/AVRCPAgent.app/Contents/MacOS/.
On the off chance you have removed iTunes from your machine completely (as I have), rcd is actually not what you need patch. unless the situation below applies to you. You should use it instead of a hex editor. Someone made a polished program that does the same thing as the above.
It should work now! Please note that I tested this procedure on Mac OS X 10.9.5 (Mavericks) which is very old as of this writing!Ī few things I've discovered since writing this post: Do a killall rcd so OS X reloads your new copy of the binary.You may be able to re-sign the binary with your own developer certificate instead I did not attempt this as I don't actually have the developer tools installed.
Now we have a fixed copy of the rcd binary, but we've broken its code signature! Because I keep Gatekeeper turned off anyway, I opted to remove the broken signature with and leave the binary unsigned.(Finder was chosen primarily because it's the same number of characters as iTunes). In ASCII mode, replace all instances of iTunes with Finder.open /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd in a hex editor such as Hex Fiend.Make a backup copy of /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd.I just wanted it to stop activating iTunes. However, I did not want to unload rcd completely, as I need it to control other applications such as QuickTime.
In most cases, unloading the rcd launchd job is probably the best answer, see: Remeber to turn on System Integrity Protection again! The Music App should be able to be used again. Sudo chmod 755 /System/Applications/Music.app/Contents/MacOS/Music Remember to turn off System Integrity Protection in advance and mount your drive writeable as stated above. You can revert this change simply by giving the system the rights back to read, write, execute the Music App.
Now, connecting your bluetooth headset won't start the Music app.īut you have to turn System Integrity Protection on again: Sudo chmod 0 /System/Applications/Music.app/Contents/MacOS/Music Now that the filesystem is writable, you can revoke all rights on Music to prevent it from being opened. This is non-permanent, after a reboot the changes are discarded.
Open Terminal in Utilities Menu and enterĪfterwards you have to mount your drive with write access because the apple applications are read only. At first you need to disable the System Integrity Protection.īoot in recovery mode (hold ⌘ + R until apple logo appears) Since apple introduced some security mechanisms, some things have to be done in advance.
You won't be able to use it afterwards, so only do this if you do not need the Music app. I did some research and found a way to disable Music.
To restore your rcd, use: sudo chmod 755 /System/Library/CoreServices/rcd.app/Contents/MacOS/rcdįor MacBook Pro 16" and macOS 10.15.3 all solutions did not work. To stop rcd from even being started by any app. In Terminal, enter: sudo chmod 000 /System/Library/CoreServices/rcd.app/Contents/MacOS/rcd With -w option the change should be persistent. Your volume keys should continue working, but things like play key (or bluetooth) auto-starting iTunes should stop. This should stop rcd from being launched by OSX. Launchctl unload -w /System/Library/LaunchAgents/ To disable this behaviour (minimal loss of functionality, possibly your apple remote won't work), use the following two commands: launchctl stop It has hard-coded list of actions to do when it detects certain "events" - one of them being connecting to a bluetooth headset. On OSX, the "RCD" (remote control daemon) is responsible for the naughtiness.