I would like to be able to check the size of my app before submitting to the app store. More specifically I need to know whether it will be below the magic 20 MB, to allow cellular downloads, since the app is created for a festival.
This question is quite old, but IMO still relevant. Here is a recent message I received from Apple when I uploaded an app for review:
The app binary listed below was 79.7 MB when you submitted it, but will be 132.2 MB once processed for the App Store. This exceeds the cellular network download size limit and would require your app to be downloaded over Wi-Fi.
There is no way to know this 'once processed for the App Store' size until you've submitted your app.
There is a feature within the Organizer/Archives view that allows you to estimate your final app size. I have found this estimate is inaccurate. Here is the button you're looking for if you want to see this estimate:
So what I have learned is that the "processed for the App Store" part above will mean your .ipa file is not an accurate measure of the final app size users will download. The Organizer/Archives estimation is incorrect, it seems the estimation is higher than the actual size, for example an archive sent for review was estimated at ~109 MB, the final app size in the store was ~90 MB and the .ipa filesize was ~47 MB.
Why is the final size larger than the .ipa?
I'd also like to know the answer to this, from what I understand it's related to DRM things that Apple adds to the .ipa.
UPDATE (June 2015)
The latest version of Xcode does not have the 'Estimated App Store Size' option within the 'Organizer' view.
UPDATE (November 2017)
Estimated size information is available on App Store Connect:
My Apps > App > Activity > Select a build > App Store File Sizes