There is App thinning concept which helps in reducing the size of the app.You can read a lot about it here
But as part of development,we developers can also do some part in reducing the app size.An easy way to reduce app size is using optimised images.Xcode does PNG compress if we use asset catalog.
PNGCrush is bundled along with Xcode to compress images whereas it cleans up unwanted chunks and recreates images so the size maybe bigger than original image.
Use imageoptim to optimise the images and then check the size of the app.
But as part of development,we developers can also do some part in reducing the app size.An easy way to reduce app size is using optimised images.Xcode does PNG compress if we use asset catalog.
PNGCrush is bundled along with Xcode to compress images whereas it cleans up unwanted chunks and recreates images so the size maybe bigger than original image.
Use imageoptim to optimise the images and then check the size of the app.
To Achieve best bundle size it is prefered to do following
- Clean-Build-Archive-Export and note ipa file size.
- Set "Compress PNG Files" to NO
- Install Imageoptim (available at http://imageoptim.com/)
- Go to terminal and navigate to source directory
- Use command
open -a ImageOptim .
- It automatically looks into source for images and compress them (No worries optimizes images in .xcassets also)
- Now ensure to wait for a while and let all progress indicators glow red
- Clean and Build and Archive, You will observe resulting ipa file is far less than original.
- Last but not least, thereafter when ever you add images into project just ensure to add the optimized ones. its as easy as dragging dropping images into imageOptim for optimisation.Refer:http://stackoverflow.com/questions/7388324/png-optimization-issue-using-pngcrush-tool/23361487