What's the limit for the size of iPhone apps? - iphone

I have an app which is quite huge. It has tons of images and sounds. In total it's 30 MB in size.
1) Is there an official limit for the app size?
2) Are there other "practical" limits I should consider?

Reading around, there are reports that the absolute maximum size for an application is 2GB (http://discussions.apple.com/thread.jspa?threadID=1605342).
Other than that, if your app is over 10MB, users will only be able to download it over a wifi connection, having the impact that users won't be able to download your application easily when they are out and about.

This might sound obvious, but there are two size limits to keep in mind here - neither are absolutely defined.
One is the limit for the application bundle. I don't know if there is a real limit (other than the device's flash storage limit), but this should rarely be an issue. Keep in mind the 10Mb threshold that the other Phil mentions though. There may be something in the 2GB limit too, I don't know.
The more important limit is on the size of the loaded binary image and it's runtime memory usage. The iPhone is obviously a constrained device in this area. The original iPhones and iPod touches had 128Mb of total RAM, with no paging. Current models have 256Mb, but it's a bit early to limit yourself to that subset of the installed base if you can help it.
Assuming 128Mb, of that a fair chunk is used by the system itself and its background tasks (and people want user background tasks too!?!).
In a conversation with an Apple Engineer he said that apps should be written to use no more than about 25-30Mb! Up to 60Mb may be available but cannot be counted on (but you could use this extra for caching stuff that you can purge as necessary).

1) I believe that you shouldn't ask for maximum size, as you have to aim for minimum possible size for your apps. As iPhone has limited memory (both storage & RAM), you should not create a huge app. (I doubt an app > 200MB can pass through Apple's app check.)
Yeah, Phil is right, when you app is over 10MB, it can only be downloaded via wifi or iTunes. Quite a lot users may want to download anywhere they like using 3G networks, so >10MB is not recommended.
Also, take care those users with iPhone 2G. If you produce a >10MB app, it takes them a day to download your app (if they are lucky enough to have no disconnection at the middle of download...)
2) practical limit ... K.I.S.S = Keep It Simple and Small.
That's it. Hope it helps.

Related

iOS: Application in production. Which Size?

I am developping my first application on iOS. I am on this language since few days and I am going to share this application in Apple Store ASAP. But I have a big question around architecture.
Currently, I have with about 40 different type of Views, others components and a lot of PNG (30x30). I know that I can reduce considerably the number of Views through the development of a small framework but as it's my first learning-by-practice application, I wanted to move on quickly about all standards components and to start this development without architecture, reusables class or design pattern ... without think too hard.
To be short, I am wondering about the real size of applications in production and the performances. Have we got some constraints with:
Apple Store (upload apps)
Ram Capacity of iPhone during using
Download application from apple store for the user
etc...
Basicly, is it acceptable to have with about 40 screens for an iPhone Application?
Best regards.
There is a limit of 50 MB for over-the-air downloads.
Number of screens is probably not going to be a problem. The amount of executable code associated with each screen is probably not going to be significant. The bigger issue is how much PNG data you are going to have embedded in the app. A single 30x30 PNG isn't very big. 40 of them probably won't very big (depending on how well they compress). But if you have dozens of them per screen, or if you have a big hi-res background image for each screen, then the total amount of data could get big.
My advice would be to just start developing everything in the most straightforward way you can. Don't worry about sizes until you have some evidence that it may be a problem. And do a lot of testing on an actual device (don't rely on the Simulator) running whatever the oldest OS version is that you are willing to support.

available RAM iPhone app

how do i increase the available memory (more concrete: the part of the RAM) that can be used by my app?
i am not referring to the space available on the harddisk of an iphone, but to the RAM.
does anyone know if there's a way to use the whole free part of the RAM for my app only?
i have to clear this up a bit, sorry if it was too vague:
i had to think of the java heap size, which can be increased by adding a parameter to the startup command of the java programming.
as i don't know, but at the moment suppose on the iphone something similar happens (every app has just xxMB RAM for execution) this value might be adjustable, so that i can use the whole remaining RAM for my app.
which pretty much is what i need for this special app (non-app-store-publication; file-sizes between 50MB and several 100MB)
How do i increase the available memory?
Short answer: you don't.
Memory is managed by the kernel.
Your application process can't control this.
You can't explicitly control this - this is managed by iOS.
You can't do that. Try reducing your memory usage instead of looking for ways to remove well needed limits.
Store your data instead and read from it when needed.
I don't know for sure if you can configure RAM allocated for your app. I think that is taken care of by the iOS kernel
It's unlikely (read: not going to work) that you will be able to allocate anything more than a few Mb in your application at once.
Not planning on publishing your app to the App Store won't change this. Apple don't officially acknowledge the amount of memory in iOS devices. But its known that devices have between 128Mb and 512Mb of physical RAM.
With the kernel, essential applications (Phone app, etc), background processes, etc, you won't have anything like that available to your application. Careful analysis in instruments would suggest that you'll generally start getting memory warnings when you've allocated around 22Mb of RAM in your application.
A change made in iOS 5 makes the watchdog process much more aggressive with killing applications after you get a memory warning. If you get a memory warning on iOS5 you have to reduce your memory usage or you will get jettisoned by the OS.
If you want to proceed, you will have to figure out how to reduce the amount of memory your datasets require. Its unlikely that all of the 100Mb file needs to be in memory at once. iOS devices have "relatively" fast CPU's and storage, you'll have to architect your application to read and write to storage in chunks and work on smaller subsets of your data.
Some related Stackoverflow questions and links:
Monitor memory usage in an iphone app?
How much memory can an iPhone app use?
10 iPhone Memory Management Tips

What is the "normal" filesize for an app?

My app compiles to about 80mb. I was under the impression this was quite large. However it does have video content, high resolution images and we're charging ₤3.99 for it on the App store.
What would be "large" for an app? For instance, would you say 80mb was large? What would you say the limit is (realistically).
Thank you very much
Tom
I really don't think this can be answered objectively. You should do whatever you can to keep it as small as possible so you're not wasting storage space on the device. Just realize the app bundle's size isn't a reflection of the exectuable's size. If the executable is huge, that's a (memory) problem you should try to address. If most of it is resources, compress as well as you can without sacrificing too much (or any?) quality, and that's the best you can do.
In other words: there is no such thing as a "normal" size for an app.
Some of these high-resolution magazine apps are a few hundred megabytes (I know they're iPad, but the storage is the same size in each case). I think <100MB is not unreasonable.
That is pretty large. IMO anything over 20MB is large, seeing how it requires a WiFi connection to download. Since your well over that, I wouldn't worry about bringing it down.
Whenever possible, keep your app under 20MB. However, there are plenty of apps that are bigger than yours.

Question about IPhone app bundle reasonable size for App Store. Storage memory!

I plan to submit my new app to App Store. App consist of a lot of image resources (animation) - more than 40M.
Is there any formal limits at App Store of the app bundle size? I never see such condition and think it will be ok. Is it right?
My major question is..
Is there any negative aspects for usability in case app is a huge?
-increase user traffic
-problem with installation
-etc...
Should I try to reduce my app size as much as I can? (actually I've done it already but size still big)
I have no statistic on this point. What is the average app size at app store and how many exclusion with big size?
Thanks, Mike/
The only limit that I'm aware of is that if your app is larger than 10 megabytes, you must download it over wifi when installing via the App Store on the phone.
There are some huge apps that I've installed, including:
Apple's Hold em: 172.8 MB
Spore: 68.5 MB
Oregon Trail: 52.6 MB
and 10 more that are over 40MB
I'd venture to guess that the upcoming Tom Tom app with the maps will be very large.
I don't think most people look at app size when downloading via iTunes or even on the phone when on Wifi. Smaller applications will install faster, but at that point they've already bought the application.
If you somehow have the ability to get your app under 10MB, then I'd say shoot for it. I don't have any actual numbers, but I would guess it certainly wouldn't hurt. However, if you can't get down to 10MB, I would spend only a reasonable amount of time getting your application size down. The decrease in download time and disk space I doubt will raise sales that much.
I don't know of any limits, but remember that anything larger than 10 MB requires a wifi connection to download. Under 10 MB can be downloaded over 3G.
At least these are the limits today, they could change soon.
iTunes Connect developer guide says there is a hard limit of 2 GB.
App Size Tips (For iOS Apps Only)
■ Apps can be as large as 2GB, but be aware of download times.
■ Make efforts to minimize file size.
■ Remember there is a 20MB limit for Over the Air downloads
https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf

What is a reasonable size for an iPhone App?

I'm wondering what's a reasonable size for iPhone Apps. Right now I'm working on an iPhone game, and of course it loads fast into my device since I'm connected directly to it through a USB cable, but I've no idea how long it would actually take to download from the App Store.
In my case it's about 2mb in size, which is reasonable for a desktop or even a flash game, but I've no idea if this is reasonable size for the iPhone.
My other concern is what's the non-wifi download limit of the App Store? Occasionally there are Apps that won't download unless you've got a wifi connection. And personally I've never downloaded such apps, since it gives me a bad impression. So I'd definitely want to stay below that limit.
Also since I'm already asking about app sizes, it would be probably be useful to collect good sizes for other types of apps as well.
Thanks!
Looking through some of the games i have on my phone they weigh in around 7 or 8 mb a pop. I think your 2mb will be fine.
One thing i can tell you for sure is that if you want to be distributable over the cell network your application has to be under 50 mb. If you exceed this it will have to be downloaded using wifi or itunes on a computer.
The 3g network is fast. I wouldn't limit your development based on this - do exactly what you need to do to make your game as good as it can be, and people will download it even if it takes a tiny bit longer. I've downloaded 10MB+ applications from the store over 3g and it might as well be a slow wi-fi connection, it's just that fast.
Also remember that many people purchase on their computers (hence a fast connection) and then just sync to the iPhone, especially those that are in areas with slower cellular networks.
Bottom line, size won't affect downloads, ratings will.
Besides the resonable numbers being somewhat lower the limits:
Maximum app size ist 2GB
Application larger than 20MB won't be downloadable over a cellular connection
I would try and keep it as small as possible. The app-store could probably support, say, a 100MB application, but it wont be nice to install for users.
The problem is installing via the phone - all you get is a simple progress bar, and most people have their phone auto-lock after 1 minute.. So, ideally the app would download in under a minute on an average connection..