Acceda a un Swift REPL en los programas Cocoa
Puedo adjuntar LLDB a un programa escrito en Swift y acceder a REPL, ya sea desde Xcode o ejecutando:
lldb -n ProcessName
(lldb) repl
1>
Sin embargo, si adjunto LLDB a un proceso que no tiene el tiempo de ejecución Swift, el REPL no es muy útil. Por ejemplo:
lldb -n Finder
Process 218 stopped
Executable module set to "/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder".
Architecture set to: x86_64-apple-macosx.
(lldb) repl
1> import Cocoa
error: Couldn't lookup symbols:
__swift_FORCE_LOAD_$_swiftAppKit
__swift_FORCE_LOAD_$_swiftCoreGraphics
__swift_FORCE_LOAD_$_swiftObjectiveC
__swift_FORCE_LOAD_$_swiftDispatch
__swift_FORCE_LOAD_$_swiftDarwin
__swift_FORCE_LOAD_$_swiftFoundation
¿Alguna idea sobre cómo cargar el tiempo de ejecución Swift en un proceso que ya no está vinculado contra él? Esta podría ser una alternativa muy útil para, p. inyectando F-Script.