是否可以在应用程序运行时更改应用程序图标

Posted

技术标签:

【中文标题】是否可以在应用程序运行时更改应用程序图标【英文标题】:Is it possible to change the app icon while the App is running 【发布时间】:2021-09-07 15:42:35 【问题描述】:

不是一个真正重要的问题,只是好奇。你可以在运行时更改应用程序图标吗?例如,有一个按钮,当你按下按钮时,你会得到一个不同的应用程序图标(假设应用程序图标已经“设置”)。 androidios

非常感谢任何输入。 谢谢

【问题讨论】:

【参考方案1】:

自 iOS 10.3 起,开发者可以通过编程方式更改应用图标。

详情可以参考这个link,它展示了如何动态改变应用图标。

示例代码:

// change app icon to "Picture A"
@IBAction func pichuButtonDidTap(_ sender: UIButton) 
  changeIcon(to: "Picture A")


// change app icon to "Picture B"
@IBAction func pikachuButtonDidTap(_ sender: UIButton) 
  changeIcon(to: "Picture B")


// change app icon to "Picture C"
@IBAction func raichuButtonDidTap(_ sender: UIButton) 
  changeIcon(to: "Picture C")

func changeIcon(to iconName: String) 
  // 1
  guard UIApplication.shared.supportsAlternateIcons else 
    return
  

  // 2
  UIApplication.shared.setAlternateIconName(iconName, completionHandler:  (error) in
    // 3
    if let error = error 
      print("App icon failed to change due to \(error.localizedDescription)")
     else 
      print("App icon changed successfully")
    
  )

【讨论】:

【参考方案2】:

您不能更改已签名并密封的 APK 中的清单或资源,除非通过软件升级。

【讨论】:

以上是关于是否可以在应用程序运行时更改应用程序图标的主要内容,如果未能解决你的问题,请参考以下文章

在运行时更改应用程序的图标

在运行时更改应用程序图标

ios5中的应用程序图标徽章编号

iOS 在运行时更改应用程序图标

在 KIVY 中运行程序时如何更改窗口上的图标

更改固定的任务栏图标(Windows 7)