Owntracks works with ios and android, is open source, and you can have it directly connect to a server of your choosing and nothing else. owntracks + mqtt bridge + homeassistant is what i use and it works great(I haven't touched it since I set it up)