Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you update the app icons and launch images to support IOS 6 and 7 simultaneously?

Tags:

ios

iphone

xcode5

I have been stymied figuring out how to release an application from Xcode5 that supports IOS7 AND IOS 6+ in the same build, with assets (icons and splash screens) that load correctly for both, AND still render the assets for IOS 6 correctly. The major hangup I had was trying to make IOS 6 still render the icons without shading or highlighting since the "prerendered" option is no longer even available in Xcode 5's GUI. Any ideas how to get all of the content and the icon to render correctly AND support multiple OS versions?

Andrew

like image 415
AndyBean Avatar asked Sep 04 '13 22:09

AndyBean


People also ask

How do I change my app icons with the new iOS update?

Tap on the '3 dot' menu in the top-right corner and select 'Add to Home Screen'. Under 'Home screen name and icon' tap on the app icon. Browse and select the new image that you need to set as the icon.

What iOS do you need to change app icons?

Make sure you have iOS 13 or higher. If you want to go the full aesthetic route and add in widgets, plus be able to hide your old app icons, you'll need to have iOS 14.


2 Answers

Apple has clear guidelines on requirements for IOS 7 apps but even then, I ran into errors making a single app support multiple OS versions. After getting it to work, I thought I would point out a few areas that were hangups for me to aid others in the future.

I first updated the whole of my app to support IOS 7 cleanly and then went back and enabled previous versions but that process is not necessary.

Just ensure you first set the correct deploy targetdeployment target

Once you set the deployment target, Xcode5 nicely changes the list of default assets it requires to support the multiple OS versions. Ensure you reupload the correct versions of icons at the required resolutions and required filenames (shown below for IOS6-IOS7 support) Icons, their sizes, and their default filenames in Xcode5 for IOS6 -7 support

Do the same for the launch images, note that you will have to rename your launch images to new names, Xcode tries doing this for you if you let it. Note the new sizes below, as IOS7 expands the launch image background behind the status bar. Launch images, their names, and sizes required

Finally, manually add the two .plist flags below and you should be set to have your icons render across IOS versions consistently, with no gloss (explanation follows)

manually add these entries to your plistIOS7 in its new flatness removes the postprocessing the previous versions did where they added a highlight and gloss effect to icons. That effect is no longer done for IOS 7 apps but if you load an app from Xcode5 on IOS 6, it will reapply the default gloss effect. This is infuriating because there no longer is a "prerendered" GUI flag in Xcode to disable that postprocessing. As mentioned above, you need to add the flag manually to your application's plist. In my case, I had to add the flag in two locations to force IOS 6 to stop applying the effect. You can access the plist by either opening the file directly or navigating to the settings in your project overview. You may need to uninstall the app from your simulator and then rebuild the app to force simulator to lose its cache of the old icon.

like image 98
AndyBean Avatar answered Oct 09 '22 21:10

AndyBean


If you setup the asset catalogue you can open it select the image and then go to the inspector and tick this box

Screen shot of xcode 5

like image 32
Kodejack Avatar answered Oct 09 '22 19:10

Kodejack