What determines size of app in App Store? - ios

I'd really appreciate if anyone enlighten me about this issue.
I've an example which is detailed below, if necessary i can give more example.
This is size info about items my app is composed of:
Size of .ipa file: 105 mb,
Size of application file(located in Payload folder): 184.6 mb,
When i show package contents of application file, i've got executable and media sources whose total size amount is circa 36 mb:
Size of executable file: 29.9 mb,
Size of media sources(splash images, etc): circa 6 mb
Also, in Symbols folder(which located in the same directory with Payload folder) there are 2 .symbols files. Their sizes are 37.8 mb and 40.4 mb.
Finally, in App Store my application appears with size of 171 mb.
While .ipa file is much more less (105 mb), i cannot get why App Store size is so great.
Previously, my apps' size were too close to .ipa file size. However, for last couple of months there are great difference between the sizes(this also valid for updated apps, not only valid for new apps). I could not find updated statement related to this issue on Apple's documentation. If anybody clarify this issue for me or direct me any source on this issue, i'd really be thankful.

One difference since iOS 9 is app thinning: "A variant contains only the executable architecture and resources that are needed for the target device."
Many resources not needed for a specific device may be removed, so the size downloaded to a device is based on that device.
There may also now be a difference on how thw esize is reported in the app store since there is no longer one-size fits all devices.
Additionally the upload to the app store may contain Bitcode which is not downloaded to the device.

When you upload file your executable is not encrypted so can be packed effectively by zip. However, when you download from the App Store executable is encrypted so it cannot be compressed that good anymore, so IPA size is increased.

Related

An iOS app internal size?

I have searched for an iOS app internal size but find no exact answer.
I know an iOS app size in app-store could be 2GB. But my question is, is there any limitation on iOS internal app size.
For example, I could download video or images to iPhone through my app. And store it to Db or project's document directory.
So is it possible to use whole iPhone Memory or there is any limitation regarding each application?
There is no limit to how much additional content you can download (other than the storage space, of course). But there are guidelines for where and how to store the data, such as applying the "do not back up" attribute for files that must remain on the device and/or large recreate-able files and store non-recreate-able content in documents.

IOS 64bit IPA file size compression

when deploying my IOS app to my mac the IPA file size is 87.3mb - After I publish the app to the iStore, Apple sends me a warning telling me that after they do some stuff it will be larger than 100mb and will only allow users to download it over wi-fi. It's quite imperative for me that my app stays below 100mb so that users can download it via mobile connection
Now - I've done some things that in my mind that should have decreased the app size but to no real avail
Compressed all the images I use in the app (combined size of all the images is less than 3MB - including splash screens and launcher icons)
Removed all unnecessary references to units (cleaned up the "using" sections)
Removed all design time components that can be instantiated in code
I'm not using livebindings
I am using Firedac with SQLite (the database is less than 1MB)
The APK file size is 43 mb which is well below the 50mb max google wants it
Any help or advice in getting the Apple IOS IPA file smaller would be great
edit
Upon further inspection as suggested by #Robotic Cat in the comments I find that the Unix Executable is the culprit... this is then definitely something to do with how delphi builds and links the package
end edit

What is the size of my Iphone Application when downloaded from the App Store?

When my app starts on my device xcode says it uses 3.4MB of memory.
When I use every feature in my app on my device xcode says it uses 14MB of memory.
When i submit my app on the appstore, when a user goes to download it, under information what will be the size of my app?
thankyou
That's your RAM usage, and has nothing to do with the download size.
The download size will be the size of all the png images/videos/etc in your application, plus a tiny bit more for the actual code.
To find out the exact number, do an "archive" build, and in the organiser there is an "estimate size" button.
The size of your app and the amount of memory it uses while running will be different because these are different things.
The size of the app is the size of the IPA on disk (which is a zip file) containing:
code (e.g. armv7 and armv8 slices)
supporting files (e.g. graphics, sounds etc...)
I would do an Ad-Hoc build in Xcode and look at the IPA produced in order to get the size.

IPA file size Flash Builder export

i'm going to build an IOS app for the IPad, and i made a quick test.api. My issue is that the size of the file is already 13 MB big. i added a video and a sound for testing (together like 9 MB) so i was wondering is there a minimum file size when making a ipa in Flash Builder?
Maybe around 4 MB?
13MB - 9MB = 4 MB?
and then 4MB is the standard ipa size.
Flex/AS3 mobile apps must include the SDK in the output in order to run. It is referred to as "Captive Runtime" and is an option on Android, but mandatory on iOS. Essentially, they are native apps that run as virtual machines that allow you to display your AS3/Flex apps on the device without a hint of Objective-C or Java. Those SDKs are far from small. If you look in %FlashBuilder Install Directory%/sdks/, you'll see that those SDKs can be close to 1GB in size. Obviously, that doesn't all get included, but from my experience, the smallest IPA I have ever created was around 8MB.
I don't have a solid answer for what the absolute minimum size of those SDKs are, and Google turned up nothing, but my guess would be somewhere between 4-8MB, depending on if you used Flex or not.

Why is my app 25% larger on the App Store?

The zip file I uploaded is 19.5MB, but on the App Store, Apple reports it as 24.5MB -- too large for over-the-air downloading. Is Apple adding a 5MB wrapper? Decompressing and recompressing less efficiently? Using 815K "megabytes"?
From Apple:
When your application is approved by
Apple to sell on the App Store, it is
encrypted for DRM purposes and
re-compressed. When the encryption is
added, the size of the compressed file
will increase. The exact size of the
increase will vary from app to app,
however, the size increase can be
large when the binary contains a lot
of contiguous zeros. We are unable to
guarantee the size of your file after
the encryption has been added.
Source (Expand section View the file sizes of a build (iOS, tvOS))
Download the app from the App Store with iTunes. You should end up with a .ipa in ~/Music/iTunes/Mobile Applications which is (hopefully) approximately what you get from the App Store. Check its size. You can additionally use something like unzip -Z myapp.zip to check the compressed size of individual files (an .ipa is just a .zip).
If, as in FreeAsInBeer's answer, your executable's compressed size is increasing loads, then it might be worthwhile trying to fix this (5 MB is a lot of code). Compiling with -Os might be helpful.
Also note that the .ipa will have some additional info, namely iTunesArtwork (from the up-to-512x512 App Store app icon) and iTunesMetadata.plist (which has stuff like the App Store category) and some FairPlay information. I'm not sure which of these are sent to the device.
And finally, Apple might be using M = 106 instead of 220 — 19.5×220 ≈ 20.4×106 . IIRC this was one of the changes in Snow Leopard.

Resources