And by today standard I really appreciate Apple approach of doing most of the computation on the phone itself.
also I'm wondering, is there a client for that location services protocol that works on linux?
Unless it's coincidence, each of the string portions is prefixed by its length in bytes. Since they're all so short, it's not obvious if they're 1,2 or 4 byte lengths, or if those are just padding or other flag bytes. It smells almost like the binary plist format, but doesn't seem to obviously decode.
This is just casual inspection of only the sequences in the article, so might be wildly wrong, and probably irrelevant.
Brute-forcing the protobuf message without the schema surprisingly effective here though. I didn't realise it left as much structure in there.
Does this also mean that location accuracy is NOT improved when no Internet is available and iOS couldn't update its list of known access points around me? This would mean I could save battery while traveling by disabling wifi.
So I guess a good rule of thumb would be to turn off while on the road with no wifi, but keep on in cities (where A-GPS is the most efficient) where you gonna stay for awhile with sporadic hotspot access.
Also classical GPS (while slow to kick-in) is often really good enough in countryside where you don't suffer from building shapes interfering with the signal.