Have you ever tried to download a large app in the App Store, only to see Apple’s 100MB warning?
Added the parameter 'ImageAlpha=' for image meters. This will allow setting the 'transparency' of an image from 0 (invisible) to 255 (fully opaque). Changed 'AntiAlias=1' to use 'default' interpolation instead of 'Bicubic'. This should result in better antialiasing of images. RainBrowser: Minor change to a link added by the program to Metadata. In Photoshop, you can optimize the image file size, via the “Save for Web” feature. On top of that, there is an excellent free tool, called ImageAlpha, which can reduce the size of your images even more with just a minor loss of quality. Unlike Photoshop, ImageApha can convert 24-bit alpha channel PNGs to 8-bit PNGs with alpha channel support. ImageAlpha greatly reduces file sizes of 24-bit PNG files (including alpha transparency) by applying lossy compression and conversion to a more efficient PNG8+alpha format. Such images are compatible with iOS, all browsers, and even degrade well in IE6. Note: When ImageName is hard-coded with an image file name, the image will be loaded and 'cached', to avoid reloading the image from disk on every meter update. If there is an external process that is changing the image file, while leaving the name the same, use DynamicVariables=1 on the meter to force the image to be reloaded from disk on every meter update. ImageOptim is excellent for publishing images on the web (easily shrinks images “Saved for Web” in Photoshop). It's useful for making Mac and iPhone / iPad applications smaller (if you configure Xcode to allow better optimization).
In order to download apps from the App Store that exceed 100MB, you have to use a Wi-Fi network instead of a cellular network. It’s a rule designed to help you save cellular data, but it’s kind of a nuisance. Sure, you can download the app later once you find some Wi-Fi, but what if you want satisfaction now? Moreover, what if you forget to download it later?
That’s the worry for many app developers, who know just how hard it is to get downloads in the first place. You don’t want to have any extra obstacles between your app and its potential users. Unfortunately, it has become harder and harder to keep apps under the 100MB threshold. As Apple keeps introducing newer devices with larger retina displays, developers have to include larger images in their app bundles. This is especially troubling for games, which often have hundreds of image assets. It doesn’t take long before you have a wealth of PNG files (with at least two duplicates of each image in different sizes to handle different devices) totaling a couple hundred MB in size.
This once seemed like an insurmountable challenge, but it’s a lot easier to manage than you probably expect. We’ll just cut the file sizes by about 75% with negligible downside!
ImageAlpha
ImageAlpha allows you to reduce the file size of PNG images with lossy compression by reducing the number of colors. Just saving everything at 256 colors will probably reduce your file sizes by around 70% with barely any discernible difference. For large background images, I like to try reducing to 128 colors and see if the image still looks good. If you still need to shrink your app bundle size, you can get creative and strategically reduce the colors on other images. Even if you stick to 256 colors, this is truly a game changing amount of file size reduction. You can download ImageAlpha here.
Image Alpha And Omega
Since you’ll want to use ImageAlpha on every image in your project, it may be easier to process all of your images at once. If you know you’re going to set everything to 256 colors, batch processing is certainly the way to go. If you’re comfortable with the command line, open up Terminal.
Assuming ImageAlpha is in your Applications folder, type in the following, but don’t hit enter yet.
We’re going to run pngquant, the file size reduction tool behind ImageAlpha. The rest of the command notes that we want to use .png for our new file extensions and overwrite the old files with 256 color images. Before hitting enter, highlight all of the files in finder that you want to shrink and drag them into the terminal window. You’ll see a list of all their file paths appended to the command you just wrote. Finally, press enter. Your images have now been converted!
Photo Alpha Blondy
ImageOptim
ImageOptim further reduces file sizes by removing metadata, comments, and other unnecessary information stored in the PNG files. This doesn’t reduce your image quality at all, so there’s no downside here. You won’t get the same file size savings that ImageAlpha generates—usually only 3 to 6%—but every little bit helps. Note that you can go to preferences to set how aggressive you want the optimization to be. More savings takes more time. You can even run ImageOptim multiple times and sometimes save a little more space on subsequent runs. You can download ImageOptim here.
Once you have both programs downloaded, ImageAlpha and ImageOptim are designed to run in concert with each other. When you’re finished saving your image with ImageAlpha, you will see an option to run ImageOptim. It’s space saving extravaganza! Your images are now probably a quarter of their original size, and you should have a much easier time staying under the 100MB limit.
Image Alpha
Required Xcode Setting
Imageoptim Windows
There’s one more thing you need to do to maintain all your newfound savings. Xcode has its own PNG compression tool that saves a minimal amount of space. By default, it will convert all of your images, and, in the process, negate your file size savings. Don’t let Xcode do this to you. Go to your project’s “Build Settings” and change “Compress PNG Files” to “No.” There you have it! Now your users can get your app even when they don’t have access to Wi-Fi.