RubyMotion is probably as good as it gets for AOT. Ruby depends on dynamic dispatch and thankfully objc is very similar the needs of a Ruby-like language.
Truffle might work even better as it’s able to recompile.
Any C++ port will likely need to reimplement half of the objc runtime to support all of Ruby. Not sure if clangs/gcc objc support includes the runtime, but I’m imagining it would… so maybe it’s reusable that way.
It is not dead. There are regular releases, a helpful community at slack.RubyMotion.com and training available at https://wndx.school (that last is mine)
https://crystal-lang.org/