The latest version of BeebAsm allows a command line like:
beebasm -i source_file -o object_file
and will write the object code directly to the host OS, like normal assemblers.
It's still necessary to put a SAVE command in the source code, but if you omit the filename, it'll use the one specified on the command line, e.g.
Code:
SAVE code_start, code_end
Hopefully, this should make it a little more like P65, and easier to integrate into Swift. Let me know if there's anything else you'd like me to implement.