无法在 iOS 11 中设置备用应用程序图标

Unable to set alternate app icons in iOS 11

我无法将应用程序的图标更改为 iOS 11(Xcode 9,测试版 3)中的备用图标。

但是,它在 iOS 10.3 中工作正常(使用以下代码):

    if #available(iOS 10.3, *) {
        guard let iconName = MySingletonClass.sharedInstance.iconName() else { return }
        delay(0.01) {
            UIApplication.shared.setAlternateIconName(iconName, completionHandler: { (error) in
                if let error = error {
                    print(error.localizedDescription)
                } else {
                    print("Success!")
                }
            })
        }
    } else {
        // Fallback on earlier versions
    }

我的 plist 是这样设置的:

我觉得很奇怪,因为我在 iOS 11 中使用过其他使用备用应用程序图标的应用程序。iOS 11 中是否存在已知错误?

注意:如果您想知道我为什么要使用延迟,

我通过在 ViewController 中实现它来解决这个问题,而不是在 AppDelegate 的 appDidFinishLaunchingWithOptions

中实现

如相关问题/答案所指出的,仍然需要 运行 它在延迟内才能正常工作。

如果这没有帮助,请禁用应用程序图标资源。它帮助到我。 我猜资产和 plist 图标之间存在一些冲突。