I continue to use F-Script occasionally to investigate how programs work internally. The framework itself has been updated to handle the changes in OS X Mavericks. However, the developer tools included with Xcode 5 swap out the gdb debugger for lldb, breaking the injection script I fixed for Lion again. After playing around with the automator action some more, here's what I came up with that works on Mavericks.
I switched back to using a temporary file to hold the lldb commands, because lldb is less tolerant of non-interactive shells. To use this: start automator, create a new "Service" file, add a "Run Applescript" block with the contents below, and save it as "Inject F-Script into application".
tell application "System Events"
set pid to unix id of the first process whose frontmost is true
end tell
do shell script "
src=`mktemp -t fscript`
cat << EOF > $src
attach " & pid & "
p (char)[[NSBundle bundleWithPath:@\"/Library/Frameworks/FScript.framework\"] load]
p (void)[FScriptMenuItem insertInMainMenu]
detach
quit
EOF
lldb -s $src
rm $src" with administrator privileges
1 Response
[…] This no longer works on Mavericks due to a debugger change. See this post for a new […]