Our executable got to 53MB, and the game started crashing (on hardware) before running any of our code. If full .Net 2.0 was enabled, the crash would show an OutOfMemory exception in XCode’s call stack (but no iOS memory warning was given). When I enabled stripping (to Strip ByteCode), the executable went down to 32MB and stopped crashing.
no there is no max, at least not up to 1.2GB of size, have not seen a larger app than that yet
Out of memory has also nothing to do with app size but with the amount of data you load at a given time during runtime.
if the crash went away when you only used 32mb that sounds like iphone 3G (first 2 gens in general) as they offer you at max 35-40mb of ram in total and you should focus on only loading what you need or simply drop support for pre 3GS devices, which will raise the limit from 35mb of ram to 100-120mb of RAM + VRAM
I’m not talking App size, but executable size. You know, open the .app file package and look at the size of the main executable inside, which is all the game’s code without assets - is there a limit for that? I’m running on an iPhone 4 with 512MB RAM, but I don’t think it’s running out of memory, because when that happens on iOS it crashes to desktop, with the Xcode debugger unable to show a call stack and usually at least one memory warning from the iOS. But here it is acting like a normal crash with call stack and everything, but before any of our game code has run at all (it’s crashing in a function called “PrefabLoader”), and with Mono reporting an OutOfMemoryException.
Oh, and when I first got the crash, I could back out the code I added to make the crash go away - but ANY new code added to our game would cause the same crash.