IOS – Same app version but different size on iPhones on TestFlight

iosiphonetestflight

We have an app released on TestFlight to External Testing.

When looking at the info about the app in the TestFlight app, it displays the same (correct) version on two different iPhone devices, but the "Size" is different:

  • One displays 88.4 MB
  • on the other device it displays 93.9 MB

All other information is also the same, only the download size is displayed differently – the only difference we can see from the screenshots the external testers sent us is that the one iPhone that displays the bigger size also has a Send Feedback button at the top, the other does not.

What could be causing this?

Best Answer

Apple servers are able to re-pack your application. For each device Apple determines which resources will be actually used. They prepare package for the given device (for example only images with correct scale for given device will be included in package). Also, if bitcode option is enabled, they are able to re-compile your app in order to provide optimized binary for each device. All of the above might change the size of your application.

A universal .ipa is a compressed app bundle that contains all of the resources to run the app on any device. Bitcode has been recompiled, and additional resources needed by the App Store, such as .dSYM files and On Demand Resources, are removed. For App Store apps, this .ipa is downloaded to devices running iOS 8 or earlier.

A thinned .ipa is a compressed app bundle that contains only the resources needed to run the app on a specific device. Bitcode has been recompiled, and additional resources needed by the App Store, such as .dSYM files and On Demand Resources, are removed. For App Store apps, this .ipa is downloaded to devices running iOS 9 or later. source

You can check the size of the executable for each build in app section of iTunesConnect. Just enter Activity-> Click your most recent build ->App Store File Sizes.