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

Posted

技术标签:

【中文标题】无法在 iOS 11 中设置备用应用程序图标【英文标题】:Unable to set alternate app icons in iOS 11 【发布时间】:2017-12-23 11:07:57 【问题描述】:

我无法在 ios 11(Xcode 9,beta 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 中是否存在已知错误?

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

【问题讨论】:

您是否检查了supportsAlternateIcons 前期? @BennX 怎么样?如果提供了 plist 值(如图所示),我认为这是一个只读属性 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于无法在 iOS 11 中设置备用应用程序图标的主要内容,如果未能解决你的问题,请参考以下文章

如何在黑莓应用程序中设置备用入口点?

iOS备用图标没有改变

iOS 10.3 中的备用图标

如何在 Cordova 中设置图标?

如何在 iOS 的 xamarin.forms 应用程序中设置应用程序的应用程序图标

无法更改在 Storyboard 中设置的 TabBar 项图标