Flutter - 无法使用 CFBundleAlternateIcons

问题描述

我一直在尝试使用 CFBundleAlternateIcons 更改我的应用图标,但没有任何反应。

我实际上正在为 Flutter SDK 使用一个插件 - Flutter_dynamic_icon,当我使用该插件更改图标时,它会显示一个弹出窗口,显示“您已更改 MyApp 的图标”但没有任何更改。

我的问题似乎是这个问题的重复:[https://stackoverflow.com/questions/64426880/xcode-ios-cfbundlealternateicons-not-changes] 已经有了答案,但对我不起作用.

我也试图在媒体上做与这篇文章相同的事情:[https://medium.com/Flutter-community/programatically-change-ios-app-icon-in-Flutter-c9e84bc541a2] 和结果和我用 Flutter_dynamic_icon 的时候一样。

这是我的 info.plist:

<key>CFBundleIcons</key>
    <dict>
        <key>CFBundleAlternateIcons</key>
        <dict>
            <key>teamfortress</key>
            <dict>
                <key>UIPrerenderedIcon</key>
                <false/>
                <key>CFBundleIconFiles</key>
                <array>
                    <string>teamfortress</string>
                </array>
            </dict>
            <key>chills</key>
            <dict>
                <key>UIPrerenderedIcon</key>
                <false/>
                <key>CFBundleIconFiles</key>
                <array>
                    <string>chills</string>
                </array>
            </dict>
            <key>photos</key>
            <dict>
                <key>CFBundleIconFiles</key>
                <array>
                    <string>photos</string>
                </array>
            </dict>
            <key>UIPrerenderedIcon</key>
            <false/>
        </dict>
    </dict>

我认为我的 info.plist 有问题。

有人遇到过这个问题吗?请帮帮我,非常感谢。

解决方法

我最近找到了答案,由于某些原因,当我直接在 Xcode 的 Runner 文件夹中添加图标图像并从中运行 flutter 项目时,我的应用程序只能动态更改应用程序图标。 如果您遇到上述问题,希望对您有所帮助。