58

I have a problem with the gloss effect in app icon at iOS 5 beta 5, in iOS 4 it's show the effect not gloss, but iOS5 shows the gloss effect. I put the option Icon already includes gloss effects = YES, but simply does not work, and it appears that the application Google+ also has the same problem

Cœur
  • 37,241
  • 25
  • 195
  • 267
ruiaureliano
  • 1,552
  • 1
  • 14
  • 13

11 Answers11

123

iOS 5 has anew "Icon Files (iOS 5)" key in the Info.plist file. Make sure the "Icon already includes gloss effect" boolean in that dict is set to "YES" too. You may need to clear your build folder before the changes take effect in the simulator. It takes a lot of troubleshooting to get it to work on older projects, so you might try erasing the root level key.

adjwilli
  • 9,658
  • 4
  • 35
  • 29
  • 3
    worked for me too, but remember if you're deploying backwards to pre iOS5 as well you will still need to include the old boolean too. – SlateEntropy Dec 15 '11 at 23:16
  • Worked for me too. Accepted answer? – Mick F Apr 19 '12 at 14:00
  • I knew about the 'Icons' array on the .plist, but never saw "Icon already includes gloss effects", neither "Primary Icon". Does it get this way when you set the deployment target to 5.0? – Nicolas Miari Jun 15 '12 at 14:31
36

First Settings in a your project info-list set key Icon already inculdes gloss effects to YES Boolean value like below screen shot:

enter image description here

after try project Target settings tick the checkbox in the summary tap in the App Icons section like below screen shot:

enter image description here

it's worked for me!

Welcome in Advance!

Dinesh
  • 6,500
  • 10
  • 42
  • 77
22

It appears this problem is still not fixed in the GM. I set UIPrerenderedIcon to YES, but the rendered icon includes gloss effect.


Sorry, I confirmed that this problem is solved in the GM. If you would like to erase gross effect, set "Icon already includes gross effect" under "Primary Icons" under "Icon files (iOS 5)" to YES.

Bill the Lizard
  • 398,270
  • 210
  • 566
  • 880
charunoki7
  • 221
  • 2
  • 2
13

There are 2 keys in the Info.plist governing this.

xCode generated the following code for you, but it doesn't offer a GUI for changing this: Open your Info.plist file (Right Click > Open As > Source Code).

<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>myIcon.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <false/>
    </dict>
</dict>

set the UIPrerenderedIcon = true and you are good to go (this is NOT the other UIPrerenderedIcon that also exists in this file as a boolean key!).

ZPiDER
  • 4,264
  • 1
  • 17
  • 17
11

Just in case anyone stumbles across this due to a problem using an asset catalog in Xcode 5.0, there is a setting in the Attributes Inspector of the asset catalog that should be checked:

Attributes inspector

Ian L
  • 5,553
  • 1
  • 22
  • 37
5

Some of you will do these things and still not have retina display or gloss to reflect these changes.

In XCode 4.3.2 and possibly earlier versions, make sure you check the "Summary" tab in your project settings. There you will find a section called "App Icons" that should show both your Icon.png and Icon@2x.png. Make sure you have the "Prerendered Icon" box checked.

Even after all this, you might not have the retina display working. Check the "Info" tab's "Custom iOS Target Properties" section.

This is where you may find that your plist hasn't updated your Icon files

Make sure you delete the "Newstand Icons" section if you aren't going to use them or it will stop your app from passing validation when submitting to the AppStore.

whyoz
  • 5,168
  • 47
  • 53
3

In the release notes for iOS5 Beta 6 it says:

FIXED: The UIPrerenderedIcon key (in the Info.plist file) is not honored in this beta.

fredrik
  • 13,282
  • 4
  • 35
  • 52
2

I had the same problem with an unwanted gloss effect using xCode 5.0. I went through all posted answers. Here is what worked for me:

1) Remove "Icon Already Includes Gloss Effects" from Info.plist. I did this because, although this is set to "YES", which should work properly -- for whatever reason, it wasn't working, so I wanted to remove it before adding the correct code.

Here's how to do it: Click your project name in the navigator (left column) > then in the Editor (middle column) click info. In the field that states "Icon Includes Gloss Effects", click the minus "-" button to delete. This removes the code that is not working, so you will start with a clean palette.

2) Open your Info.plist file -- In the Navigator (left column), find the info.plist file then (Right Click > Open As > Source Code).

3) Your code will look like this:

    <key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>Icon-120</string>
            <string>Icon-72</string>
            <string>Icon-57</string>
        </array>
    </dict>

Now copy the following 2 lines of code, because you will paste them into the code above:

     <key>UIPrerenderedIcon</key>
        <true/>

Your final code should look like this:

    <dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>YourIconFile</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/>
    </dict>

This is the best answer I can provide. Worked for me.

TheGrayVacuum
  • 703
  • 2
  • 7
  • 12
2

Yes, it's an iOS 5 bug. I'm sure it'll be fixed in the GM.

Garrett
  • 21
  • 1
0

What worked for me is to change the "Icon already includes gloss effect" boolean under "Icon Files (iOS 5)" first to NO, compile, then set the boolean to YES and compile.

RawMean
  • 8,374
  • 6
  • 55
  • 82
0

I set “Icon already includes gloss effects = YES” In the info.plist, search this part:

<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>myIcon.png</string>
        </array>
    </dict>
</dict>

Now, add this 2 lines:

       <key>UIPrerenderedIcon</key>
       <false/>

At the end, It must to be:

<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>myIcon.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/>
    </dict>
</dict>
Julio Del Valle
  • 381
  • 1
  • 4
  • 17