1

I am currently trying to remove the gloss effect from an iOS icon using XCode 4.

I have set the 'Icon already includes gloss effect' (UIPrerenderedIcon) property to YES/true.

The gloss effect is successfully removed from the icon when i run my app through the iPhone 5.0 simulator.

However, the gloss effect is still visible when I run the app through the iPhone 4.3 simulator.

Can anyone tell me how to disable the gloss effect in both iOS versions?

My info.plist file reads as follows

<key>CFBundleIconFiles</key>
<array>
    <string>Icon.png</string>
    <string>Icon@2x.png</string>
    <string>Icon-72.png</string>
</array>
<key>CFBundleIcons</key>
<dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>Icon.png</string>
            <string>Icon@2x.png</string>
            <string>Icon-72.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/>
    </dict>
</dict>
jjc99
  • 3,559
  • 4
  • 22
  • 21

3 Answers3

2

Clean your build, delete from simulator/Device..! It will work

max9xs
  • 278
  • 1
  • 7
2

I had the same problem. "CFBundleIcons" works for iOS 5.0 and "CFBundleIconFiles" works for 4.3.2 and 5.0. 4.3.2 doesn't recognise the newer "CFBundleIcons" icon property. I solved this by including a "UIPrerenderedIcon"=true at the top-level to match the "CFBundleIconFiles" array. The nested "UIPrerenderedIcon" key in your example code only applies to iOS 5.0. You should skip the "CFBundleIcons" if you want to field for both 4.3.2 and 5.0.

I think your plist should look like this (removing the "CFBundleIcons" array):

<key>CFBundleIconFiles</key>
<array>
    <string>Icon.png</string>
    <string>Icon@2x.png</string>
    <string>Icon-72.png</string>
</array>
<key>UIPrerenderedIcon</key>
<true/>

Search for "CFBundleIcons" on this page: http://developer.apple.com/library/IOs/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html

colbadhombre
  • 803
  • 8
  • 11
0

The technical document states that you must ensure that this value is boolean and not a string litteral "YES". Check if you have correct value defined by viewing plist as a source list.

Eimantas
  • 48,927
  • 17
  • 132
  • 168
  • Hi Eimantas, the value is set as a boolean value. I have added an extract from my info.plist file above. – jjc99 Jan 05 '12 at 10:00