【问题标题】:Removing gloss effect from an icon in iOS 4.3从 iOS 4.3 中的图标中删除光泽效果
【发布时间】:2012-01-05 09:47:01
【问题描述】:

我目前正在尝试使用 XCode 4 从 iOS 图标中移除光泽效果。

我已将“图标已包含光泽效果”(UIPrerenderedIcon) 属性设置为 YES/true。

当我通过 iPhone 5.0 模拟器运行我的应用程序时,光泽效果已成功从图标中移除。

但是,当我通过 iPhone 4.3 模拟器运行应用程序时,光泽效果仍然可见。

谁能告诉我如何在两个 iOS 版本中禁用光泽效果?

我的 info.plist 文件内容如下

<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>

【问题讨论】:

    标签: iphone xcode


    【解决方案1】:

    我遇到了同样的问题。 “CFBundleIcons”适用于 iOS 5.0,“CFBundleIconFiles”适用于 4.3.2 和 5.0。 4.3.2 无法识别较新的“CFBundleIcons”图标属性。我通过在顶层包含一个“UIPrerenderedIcon”=true 以匹配“CFBundleIconFiles”数组来解决这个问题。示例代码中嵌套的“UIPrerenderedIcon”键仅适用于 iOS 5.0。如果您想同时输入 4.3.2 和 5.0,则应跳过“CFBundleIcons”。

    我认为您的 plist 应该如下所示(删除“CFBundleIcons”数组):

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

    在此页面上搜索“CFBundleIcons”:http://developer.apple.com/library/IOs/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html

    【讨论】:

      【解决方案2】:

      清理你的构建,从模拟器/设备中删除..!它会工作

      【讨论】:

        【解决方案3】:

        The technical document 声明您必须确保该值是布尔值而不是字符串字面量“YES”。通过将 plist 视为源列表来检查您是否定义了正确的值。

        【讨论】:

        • 您好 Eimantas,该值设置为布尔值。我从上面的 info.plist 文件中添加了一个摘录。
        猜你喜欢
        • 2012-07-03
        • 1970-01-01
        • 2011-11-04
        • 1970-01-01
        • 2012-10-27
        • 1970-01-01
        • 2012-07-15
        • 2011-10-21
        • 1970-01-01
        相关资源
        最近更新 更多