Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

After iOS 5 update, the icon of my iPad app turned white

Tags:

xcode

ios

ipad

After updating to iOS 5, the icon of my app is gone and a white placeholder is displayed instead. While downloading, the icon shows normally.

The icon file and the plist entry are there and worked under iOS 4. Does anyone else have this problem with an iPad app?

Edit:

Looking closely a the info plist file, a new key turned up, Icon Files (iOS 5). Dragging the icon in the project summary app icon fixed it (added the icon to the new icon files).

like image 644
mme Avatar asked Nov 16 '11 15:11

mme


People also ask

What does it mean when an app is white?

A white label mobile app is a “native” mobile application that runs directly on the Apple iOS or Google Android operating systems that is built by a third party but offered under your own brand. It's available in the Apple App or Google Play Stores for people to download directly.

Why did my app icons change color?

They change the color of Google's app icons because they've included their apps as part of the set to which the color setting applies.

How do I get rid of white app icons?

You can go to settings ->Themes. Also, some themes have white background for icons. So that you can choose themes which don't have it.


2 Answers

iOS 5 introduced a new way to specify your app icons. The old way is supposed to be forward-compatible with iOS 5 in Xcode 4, but depending on the old way alone in iOS 5 seems to be broken. I've seen two problems in the iOS Simulator:

  • Generic (white) icons appear in the Home view.
  • iOS 5 uses the 50 pixel image. The doc says 57 should be used.

Tip: To verify which image file is actually being used, alter all your images. For example: Add '57', '57@2x', and such in a bold font. I used Preview.app to edit my images. First make a copy of your images to restore later.

► The workaround seems to be: Use both the old way and new way of specifying your app icons.

Old Way (later versions of iOS 3 plus iOS 4) In your app's Info.plist, add a row named Icon files. Note the plural with 's'! In the very old days there was a singular version (Icon file), no longer in use.

New Way (iOS 5 and later) In your app's Info.plist, add a row named Icon files (iOS 5). The new row appears with a pair of sub-items: Primary Icon and Newsstand Icon. Add your Home view icons under the first. Or, as a shortcut, drag one of the icons to the app's project > Targets > Summary > App Icons image well, causing Xcode to copy all of the files named in the old way.

If present, the new way trumps the old way when running on iOS 5 or later. But Apple’s documentation says the new way is optional. Logically, you should only need the new way if you are trying to declare Newsstand icons. But unfortunately experience shows that the new ways is required to avoid bugs. Keep the old way if you are also supporting iOS 4.

Here's a screen shot of the Xcode plist editor. Note:

  • The old way seen in the top half of the screen shot, for compatibility with iOS 4.
  • The new way seen in the bottom half, for iOS 5 & 6.

Screen shot of Xcode showing Info.plist with both old and new way of declaring app icons

Tip: When adding a row, choose from the pop-up menu for a key. Type "Icon" (uppercase 'i') to filter the menu for icon related items.

The key must be typed exactly because a certain phrase in Xcode is used to actually generate a Core Foundation key. So, Icon files maps to CFBundleIconFiles while Icon files (iOS 5) maps to CFBundleIcons.

Tip # 2: Xcode 4 can be buggy, so you may need to do any or all of the following when reconfiguring your icons…

  • "Clean" your project. Choose Xcode > Product > Clean.
  • Delete the app from your simulator, or even reset the Simulator by choosing iOS Simulator > Reset Content and Settings.
  • Quit both the iOS Simulator and XCode, then restart them.

The techniques described above worked for me in Xcode 4.4.1 (the last version to build for iOS 4.2.1 as well as 5 & 6).

Read the docs to learn other details such as: Omit the file name extensions as shown in screen shot above thereby causing any Retina double-resolution images with the same name plus '@2x' to be used automatically without bothering to name them individually in the plist.

Read:

App Icons on iPad and iPhone

Core Foundation Keys


If Not Targeting iOS 4

When starting a new project in Xcode 4.6.3 targeting iOS 5 and later, the situation is much simpler. Simply name all your app icons following Apple's documented naming conventions, place them at the top level of your project folder, and voilà, you are done. You may verify the files were recognized by seeing the icons displayed visually in the Project Navigator, select your project, in main area of Xcode select the target below TARGETS label, and click the Summary tab.

like image 83
Basil Bourque Avatar answered Nov 14 '22 23:11

Basil Bourque


Below an image with Apples guide on how to define icons.

Check if evreything is set up correctly.

Defining icons

source: App Icons on iPad and iPhone

like image 22
RBleek Avatar answered Nov 14 '22 23:11

RBleek