通过UIPrerenderedIcon在iPhone上移除Shine / Gloss效果不在设备上工作

时间:2010-06-02 15:00:07

标签: iphone objective-c xcode

我曾尝试在我的应用的Info.plist上使用UIPrerenderedIcon /“Icon已包含光泽和斜角”,它在模拟器上完美运行,但在真实设备上却没有(iPod touch 2g)。   我甚至试图从设备上卸载应用程序,清理所有版本但我仍然有光泽/光泽,这真的毁了我的图标......   有什么想法吗?

最诚挚的问候, 马弗

9 个答案:

答案 0 :(得分:30)

正如Alex Stone所说,在iOS 5中你必须在 2 的地方进行编辑。

Remove Icon Gloss

答案 1 :(得分:21)

检查你的Plist,我找到了一个图标文件(iOS 5)字典。在字典中,还有另一个“图标已包含光泽效果”的声明,并且其中一个设置为NO。将一个设置为YES后,您的iOS5应用程序将失去它的光泽效果!

答案 2 :(得分:15)

只是一个注释,以防任何人使用Xcode 5.0和应用程序图标的资产目录在同一问题上遇到这个问题。应检查资产目录“属性”检查器中的复选框:

enter image description here

答案 3 :(得分:7)

检查信息播放器,新的XCode / iOS5有所不同。

    <dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>Icon.png</string>
            <string>Icon@2x.png</string>
        </array>
        <key>UIPrerenderedIcon</key>
        <true/> <--------------------------------here it is
    </dict>
</dict>

答案 4 :(得分:3)

马弗,

我遇到了这个问题,并且在我从设备上删除应用后解决了这个问题。不知道为什么你的不会。

右键单击XCode中的info.plist文件并打开 - 作为纯文本文件。确保您的文本文件在预渲染图标的区域中显示如下:

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

我也有一个奇怪的发生(在另一个应用程序中)我正在使用的info.plist文件设置正确。然后我直接在mac Finder窗口中打开文件,结果发现XCode使用了错误的info.plist文件。在你的情况下,这是一个很长的镜头,但尝试进行快速的理智检查不会有任何损害。

希望有所帮助,

罗布

答案 5 :(得分:2)

Yes this need two set at two places as described in above figure.


If you want to set value dynamically using command from shell script or terminal, you can do that as below:

/usr/libexec/PlistBuddy -c "Set :UIPrerenderedIcon YES" YOUR_PLIST_FILE_PATH

/usr/libexec/PlistBuddy -c "Set :CFBundleIcons:CFBundlePrimaryIcon:UIPrerenderedIcon YES" YOUR_PLIST_FILE_PATH 

**NOTE:** [Fore being helpful to the developer who want to set this using command]

答案 6 :(得分:0)

我通过在plist中移动“Icon already includes ...”来解决它。我的猜测是解析器在plist的末尾不能很好地处理空标签。

答案 7 :(得分:0)

我正确检查了plist读数,然后我将它移动了一行,它仍然无效。

我的解决方案:删除应用程序,然后关闭并打开iPad。

答案 8 :(得分:0)

我设置“Icon已包含光泽效果= YES” 在info.plist中,搜索此部分:

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

现在,添加以下两行:

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

最后,必须是:

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