Max Size of an iOS Application

Max size of an iOS application

4GB's is the maximum size your iOS app can be.

As of January 26, 2017

App Size for iOS (& tvOS) only

Your app’s total uncompressed size must be less than 4GB. Each Mach-O executable file (for example, app_name.app/app_name) must not exceed these limits:

  • For apps whose MinimumOSVersion is less than 7.0: maximum of 80 MB for the total of all __TEXT sections in the binary.
  • For apps whose MinimumOSVersion is 7.x through 8.x: maximum of 60 MB per slice for the __TEXT section of each architecture slice in the binary.
  • For apps whose MinimumOSVersion is 9.0 or greater: maximum of 500 MB for the total of all __TEXT sections in the binary.

However, consider download times when determining your app’s size. Minimize the file’s size as much as possible, keeping in mind that there is a 100 MB limit for over-the-air downloads.

This information can be found at iTunes Connect Developer Guide: Submitting the App to App Review.



As of February 12, 2015

(iOS only) App Size

iOS App binary files can be as large as 4 GB, but each executable file (app_name.app/app_name) must
not exceed 60 MB. Additionally, the total uncompressed size of the app must be less than 4 billion
bytes. However, consider download times when determining your app’s size. Minimize the file’s size
as much as possible, keeping in mind that there is a 100 MB limit for over-the-air downloads.

This information can be found on page 77 of the iTunes Connect Developer Guide.



As of December 12, 2013

(iOS only) App Size

iOS App binary files can be as large as 2 GB, but the executable file (app_name.app/app_name) cannot exceed 60MB. However, consider download times when determining your app’s size. Minimize the file’s size as much as possible, keeping in mind that there is a 100 MB limit for over-the-air downloads.

This information can be found on page 58 of the iTunes Connect Developer Guide.



As of June 6, 2013

The above information is still the same with the exception of the Executable File size which is now limited to 60MB's. These changes can be found on page 237 of the guide.



As of January 10, 2013

The above information is still the same with the exception of the Executable File size which is now limited to 60MB's. These changes can be found on page 208 of the guide.



As of October 31, 2012

The above information is still the same with the exception of Over The Air downloads which is now 50MB's. These changes can be found on page 206 of the guide. Thanks to comment from Ozair Kafray.



As of July 19, 2012

The above information is still the same with the exception of Over The Air downloads which is now 50MB's. These changes can be found on page 214 of the guide. Thanks to comment from marsbear. In addition, the document has moved here:

http://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/iTunesConnect_Guide.pdf



As of July 13, 2012

The above information is still the same with the exception of Over The Air downloads which is now 50MB's. These changes can be found on page 209 of the guide.



As of March 29, 2012 (version 7.4)

The above information is still the same with the exception of Over The Air downloads which is now 50MB's. These changes can be found on page 209 of the guide.



As of January 23, 2012 (version 7.3)

The above information is still the same, however, it can be found on page 172 of the guide.



As of October 17, 2011 (version 7.2)

The above information is still the same, however, it can be found on page 180 of the guide. Thanks to comment from Luke for the update.



As of September 22, 2011 (version 7.1)

The above information is still the same, however, it can be found on page 179 of the guide. Thanks to comment from Saxon Druce for the update.

Maximum size for iOS app

The main part of the app is without a doubt the executable file. The executable is usually not very large, because it's just the compiled code that the machine runs. In small, trivial, apps, this is usually only a few kilobytes (KB). In more complex apps it can make it up to a few megabytes (MB). When compiling for multiple architectures the size of your app will inevitably increase (see my question on app size when compiling for 64-bit iOS devices).

Generally (not always), the bulk of your app's size is composed of interface files, images, videos, sounds, resources, etc. In other words, no, the executable is not the whole app.

Open up any app (in some kind of file viewer) and take a look at it's contents, it has four folders:

  • The bundle - with the executable and resources
  • The documents folder - which can also take up substantial space
  • The cache and temp directories

Many games are very large in size, Infinity Blade for example is about 1.2 GB for the initial download. But Infinity Blade's size is because of the copious amount of images / graphics, not the executable.

I think that Apple is trying to prevent malicious software and iOS / Device memory limits. Honestly, I think it'd be very hard to get the executable itself above 60 MB. Like I said before, the bulk of app size is comprised of resources.

You may also want to refer to the iTunes Connect Guide here.



iOS 8 Update

The app bundle file structure and sandboxing system has changed in iOS 8 (slightly). Therefore, some of the information about the structure of the app bundle (above) may be incorrect for iOS 8.0+. However, iOS will still calculate the size of each of these items and count them as your app's size.

For example, in iOS 8, your app's documents may not be stored within your app bundle, however they still count towards the total storage space used by your app.

What should be the limit of an IPA file size for successfully review on apple store?

Found the answer here :

4GB's is the maximum size your iOS app can be.

As of January 26, 2017

App Size for iOS (& tvOS) only

Your app’s total uncompressed size must be less than 4GB. Each Mach-O
executable file (for example, app_name.app/app_name) must not exceed
these limits:

For apps whose MinimumOSVersion is less than 7.0: maximum of 80 MB for
the total of all __TEXT sections in the binary. For apps whose
MinimumOSVersion is 7.x through 8.x: maximum of 60 MB per slice for
the __TEXT section of each architecture slice in the binary. For apps
whose MinimumOSVersion is 9.0 or greater: maximum of 500 MB for the
total of all __TEXT sections in the binary. However, consider
download times when determining your app’s size. Minimize the file’s
size as much as possible, keeping in mind that there is a 100 MB limit
for over-the-air downloads.

This information can be found at iTunes Connect Developer Guide: Submitting the App to App Review.

Size limit of an IOS Application & Data it stores on device

There are no limitations.

User will get an alert when free space is less than 200 MB and at 0 MB.

And your app will crash when you fill all device memory and try to write more.

What is the maximum allowed size of heap for a typical iOS application

As @gnasher729 said,

Your application will be killed if it uses too much RAM.

There is no absolute-hard limit on RAM usage in iOS. But Apple does provide the methods applicationDidReceiveMemoryWarning and didReceiveMemoryWarning for the UIApplicationDelegate and UIViewController, respectively. Implementing those methods will let you know when Apple is about to kill your app unless you reduce your memory usage (quickly). Here's some documentation regarding these:
App Programming Guide for iOS: Performance Tips.

What is the maximum amount of data an iOS app can handle?

Since you're saving the content to disk, the limitation is the disk size of the user's device. It also depends on where you're saving the data: If you save to the tmp directories, the data may get deleted, but if you're saving to the application's normal directory it will also be backed up to iCloud (assuming the user backs up).

I would advise against filling up the user's phone with hundreds of MB of data automatically, they will get very annoyed at you. So you will want to offer them a UI to actually select which content they want to keep and which should be removed.

App Size Limit and Finding the size of your app

The official (and reliably up to date) resource for this is the Uploading Your Binary section of the iTunes Connect Guide (expand the 'To begin the Ready to Upload Binary flow' section). At the time of this edit it states:

iOS App binary files can be as large as 2 GB, but the executable file (app_name.app/app_name) cannot exceed 60 MB. However, consider download times when determining your app’s size. Minimize the file’s size as much as possible, keeping in mind that there is a 100 MB limit for over-the-air downloads.

Over-the-air download limit means apps below this threshold can be downloaded with a mobile data connection (anything above the limit requires a WiFi connection, or to be downloaded through iTunes on the computer). This is important as many users may not have ready access to WiFi and you don't want to prevent them from being able to get your app!

Also the .ipa is a compressed, encrypted zip file, whereas the archive is just a fully inflated package of the app, which is why the file sizes are different. The .ipa file size is the one that will be used in the App Store, so use that as your reference for total size. That said, the smaller you can make your app, obviously the happier the user will be!

Approaching Size Limit - The size of watch application (50MB limit is headache.)

You can definitely save space by only including resources in either the watch app or the watch extension, not both. For resources used in your storyboard or referenced by name in WatchKit methods, like WKInterfaceImage’s setImageNamed(_:) method, you should store them in the watch app itself. For any resources loaded in code by path or with UIImage methods like init?(named:), you’ll want to put them in your WatchKit Extension.

What is the limit of number of resource files on an iOS app?

There is no limit on the files, as the functions to look up resources simply ask the file system API to look up the item in the app's directory. And that file system is using the HFS+ format, which has no practical limit on the files that it can manage inside a single directory. HFS Standard (the older format before HFS+) had a limit of 64k files per dir, IIRC, but the limit for HFS+ is 2^31, which is practically unlimited.

To add to your related question: One drawback of having 1000s of files in a dir is that it might take a while to create them all, meaning that the installation of your app may take longer than if you had the data all contained in a single file. The most effective way might be to use a container file, e.g. a zip (without compression), for which exist several iOS/ObjC libs.



Related Topics



Leave a reply



Submit