App Size limit of 10 megs

Member
Posts: 306
Joined: 2009.03
Post: #1
I wish I had know this from the beginning so posting this for others. If your app is more then 10 megs, it can only be downloaded by wifi or via your itunes computer. I think this is prob very detremental to your impulse buyers.

So anyhow I have compressed and reduced my resource files and I am down to 12.5 megs. If anyone has any other suggestions please speak up.
So far I have done the following:
All non transparency images are pvr or however you spell that
All wav files are cut from 48khz to 24khs
All mp3 files are cut from 128kbps to 64kbps
Reused the same sound effect for a couple things.
Cut out a music file.

The obvious is more complete cuts but if anyone else has ideas speak up. The app file itself in the whole .app is 800 which seems rather big for just a bunch of source code... Is that because of libraries? I use quite a few beyond the default frameworks that are in an opengles app.
Quote this message in a reply
Sage
Posts: 1,482
Joined: 2002.09
Post: #2
When optimizing anything, you need to find out what is using up the most of your resources so you can see where to spend most of your effort. No sense halving something that is only 1%, when you could halve something that is using 30% first.

Go to the terminal, change directory to the app bundle and run the following shell command:
Code:
du -k . | sort -gr

That will give you the disk usage in kilobytes and sort the results in descending order. Then you will know which things are taking up the most space that you can focus on first.

Scott Lembcke - Howling Moon Software
Author of Chipmunk Physics - A fast and simple rigid body physics library in C.
Quote this message in a reply
Member
Posts: 306
Joined: 2009.03
Post: #3
Assuming thats the same thing as opening the bundle and sorting by size in the gui, thats where I started. Does anyone know if the 10 meg limit is the app size limit or a zip of the app?
Quote this message in a reply
Apprentice
Posts: 9
Joined: 2009.02
Post: #4
I believe it's the zip of the app.
Quote this message in a reply
Member
Posts: 161
Joined: 2005.07
Post: #5
You're using WAV files for your audio? I'd start with compressing those.
Quote this message in a reply
Member
Posts: 306
Joined: 2009.03
Post: #6
From my understand you cannot. You have to use wav or aif uncompressed for sound effects, and mp3 or aac for music. You can only play one compressed audio file at a time. P.S Does anyone know if it tells you that you will be over the 10 meg limit? I am concerned about if im very close to the limit and they make a small change for provisioning or something and it pushes me over.
Quote this message in a reply
Member
Posts: 87
Joined: 2006.08
Post: #7
You could ship compressed audio, and then decompress on first launch into the Caches folder. (of course, assuming that audio added up to a significant part of your app).

The same thing should be possible with other images as well. PVRTC images might even show some savings when gzipped. Heck, if gzip is fast enough, perhaps you can ungzip in-memory, rather than pulling more data out of NAND on launch.
Quote this message in a reply
Member
Posts: 306
Joined: 2009.03
Post: #8
so have my app contain 2 files, gzip resources and the actuall app, and then on launch unzip it all? Interesting I can try zipping this all and seeing if it makes it much smaller. I am not thinking it will help though because mp3s are already comrpessed, pngs are already compressed, and wavs are solid data. But I will give it a shot. My app(the actual "exe" in the app file) itself weighs in at 800k which sounds very high but I dont know how to control that.
Quote this message in a reply
Member
Posts: 35
Joined: 2009.01
Post: #9
I'm glad this was posted... Definitely going to have to reconsider how I do things.

Working on 2 apps, a game and a utility. With the game I'm hoping to capture impulse buyers for sure...

I feel like if a customer clicks on your app, presses download and is refused it is unlikely they will return home and still purchase it.

My graphics folder is 2.4 mb and will most likely grow by another 25% to 3.0. My sounds folder is 764 kb and will most likely grow by another 100% to ~1.5 mb. My music folder is 3.6 mb and will certainly grow by another 100% to 7.2 mb.

so... 3.0 + 1.5 + 7.2 = ~11.5 + < 1.0 for code ≤ 12.5, and compression at this point reduces my app by 24% so 12.5 * .76 = 9.5 mb?

The question is, what type of compression does apple use and will they notify me if the compressed result exceeds 10 mb. I am absolutely willing to use a paid developer incident to discuss this with someone knowledgeable. If I do so I'll report back.
Quote this message in a reply
Member
Posts: 306
Joined: 2009.03
Post: #10
I decided to play it safe and i compressed down my audio even more as well as dropped a few songs to get not only my file size (unzipped) below 10 megs but also that size on disk value in the info tab under 10 megs. I didn't want to risk that I would submit my app and not get a notification that i was over the 10 meg limit until it was too late.
Quote this message in a reply
Member
Posts: 306
Joined: 2009.03
Post: #11
P.S What are other people doing for audio? Just 1-2 songs for the whole game? That 10 meg limit is brutal.
Quote this message in a reply
Member
Posts: 35
Joined: 2009.01
Post: #12
Try reducing the compression, and maybe keeping your songs under 2 minutes.

For some songs, 64kb mp3 sounds fine, or even lower 48 or 32... But be sure to listen to them. In my title screen music there is a discernible loss of quality at 64kb. I have not yet experimented with VBR encoding, but that might help as well.
Quote this message in a reply
Moderator
Posts: 1,560
Joined: 2003.10
Post: #13
kendric Wrote:I am not thinking it will help though because mp3s are already comrpessed, pngs are already compressed, and wavs are solid data.

I think the suggestion above was to use lossy compression on your sound effects instead of WAV, and decompress manually later.

Also, this is just one data point, but as an iPhone user I never even browse the app store if I don't have a wifi connection. Maybe other users are different, but it's very unlikely I would ever download an app over edge or 3G.
Quote this message in a reply
Member
Posts: 306
Joined: 2009.03
Post: #14
Does iphone have a nice way to convert from mp3 to wav\aif, or some nice library i could add for that? Its not a bad idea. Moving to mp3 from high quality wav, then back to high quality wav will result in higher end quality then having a lower quality wav to begin with?
Quote this message in a reply
Moderator
Posts: 3,579
Joined: 2003.06
Post: #15
kendric Wrote:Does iphone have a nice way to convert from mp3 to wav\aif, or some nice library i could add for that?

I'd use ogg/vorbis for that if I were going to be decompressing something on load. Audacity is pretty good for compressing them to ogg.
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  20mb app store limit Rasterman 5 4,419 Apr 23, 2010 03:29 AM
Last Post: Zwilnik