Does iOS download only changes or whole app when updating an app?

I noticed the downloading of app updates is really fast on my iPhone X (iOS 13). Like for example the facebook app shows about 250MB in size on the update screen of the appstore but it's finished downloading in about 10 sec over WLAN in flight mode. Despite I have 40Mbit/s (5MByte/s) internet speed. So it should take about 50 seconds for this download. I am sure the update file(s) is/are compressed but this would mean like 250MB/5 = 50MB, which sounds like too much of possible compression for an app file. I mean it's not a text file with many redundancies.

So I wonder if updates contain only changes to the app but then the programming logic would have to allow that which I doubt that many developers do this because I saw this behavior not only in the facebook app but in most app updates.

A more plausible reason would be that the size shown next to the update on the appstore is the uncompressed/installed size of the app. Does anyone know?


Solution 1:

Starting with iOS 6, the app store will automatically produce an update package for all new versions of apps submitted to the store. This package is optimized for updating an app from one version to another and contains files that have changed between the prior version of an app and the new version of the app, excluding files that have not changed.

When used optimally, an update package is significantly smaller to download than the full package of the app and the update will install more quickly. Also, in many cases, this mechanism allows updates to large apps to be downloadable over cellular networks where app downloads are subject to a size limit.

In addition to new content, the update package contains instructions on how to transform the prior version of the app into the new version of the app. New files will be added, modified files will be replaced with their updated counterpart, and deleted files will be removed as part of this transformation. As far as the developer and user are concerned, this process is entirely transparent and the resulting updated app will be indistinguishable from a full download of the corresponding updated version of their app.

So, Delta updates are possible to set up in iPhone apps which totally depend upon the developer. H

Reference: https://developer.apple.com/library/archive/qa/qa1779/_index.html