I spent a couple of hours this weekend looking into it and got something working.
It seems the iphone app talks either directly to roomba when on wifi or via the cloud when not.
I only looked into the cloud connectivity.
HTTPS JSON Api with a username and password. Once i got around the HTTPS encryption the rest was easy.
I threw together a windows/windows phone UWP C# app to test it out and am now able to control my roomba from my desktop/phone. When I get chance I will look into turning this into a ST device and app.
The only downside is the username and password are generated by either the roomba/the smartphone/their cloud. So looking them up isn’t the easiest thing to do.
However on android i believe they are just stored in a DB with the app, so it may be easy to look them up. For now I know my username/pass and can control my Roomba.
I’ll post more details when I have more time to work on it.