

IPhone Nightly Data Usage -- Culprit found? - morpher
http://rephorm.com/thoughts/iphone-nightly-data-usage-culprit-found/

======
acqq
Short version: It seems that if you: a) don't perform updates of the current
apps b) In "Settings" "Store" you enable "Automatic download" of "Apps" and
disable "Use Mobile Data" then iPhone still downloads an xml with the list of
your apps every minute even if not connected to a WiFi.

This looks like a real, inconvenient bug. The article author's list was 30 KB
which still adds up to cca 40 MB daily or 1 GB per month, really too much over
the mobile network.

Still, curiosity only, I'd like to see how that xml looks like, or how many
appy you have to have to make it 30 KB big.

~~~
morpher
I have ~60 apps installed. So, hardly a large number. The 30K is actually 83K
that has been gzip compressed. The uncompressed file is a plist containing
some encoded data. You can see the form at: <https://gist.github.com/1855135>
But, since I haven't taken the time to dig into decoding the data, and don't
know exactly what it contains, I removed it from the posted file.

~~~
acqq
Thanks! Wow, it looks really inefficient: some binary data are stored in xml
(I guess as base64), then xml gzipped which again produces a binary file.
Interestingly enough, if the binary data were encrypted, the gzipped size
would be bigger like 60 KB and not 30 KB so even when I don't see the data I
know that these 80 KB binary values aren't compressed or encrypted.

If you copy only these 80 KB encoded you can easily convert it from base64 to
binary with this:

<http://ostermiller.org/calc/encode.html>

You can copy the encode.html to your computer, then open it there, it's client
side javascript so the decoded data stays in your computer.

~~~
morpher
python's base64 module works fine ;) and yes, this is very inefficient (in
more ways than one). First, the outer xml is actually gzipped twice (once by
the web server I'm guessing). The base64 decoded data is yet another xml file.
(Which is only ~60K compared to the 80K encoded blob).

This inner xml file is another plist containing a dictionary that is primarily
a large set of links to <http://itunes.apple.com/WebObjects/*>. Most likely to
update app store / itunes app functionality. It also contains some
configuration parameters (e.g. "<key>eBook-store-
available</key><string>YES</string>").

None of it appears to be sensitive (and doesn't appear to list any of my
apps). But, there could be an id in one of the links, so I'm not going to post
it yet. I'm guessing that this was meant to be downloaded relatively
infrequently, so the verbosity wasn't considered an issue.

