This may seem obvious, but there are two size restrictions: they are absolutely undefined.
One of them is the limit for the application package. I don’t know if there is a real limit (except for the limitation on the device’s flash memory), but this is rarely a problem. Keep in mind the 10Mb threshold that another Phil mentions. Maybe something in the 2GB limit too, I don't know.
More important is the limitation of the size of the downloaded binary image and memory usage during operation. The iPhone is obviously a limited device in this area. The original iPhones and iPod touch had 128 MB of shared memory, without paging. Current models have 256 MB, but it’s a little early to limit yourself to this subset of the installed base if you can help it. Assuming 128 MB, the system itself and its background tasks are used from this fair piece (and people also need custom background tasks!?!).
Apple Engineer , , 25-30 ! 60 , ( , ).