一在 info.plist 中设置图标信息
首先将需要更换的图标按照下面的方式声明, 以便我们能够正常调用文件和方法注意, 每个图标的图标名称和对应的文件名要一一对应
二在工程根目录下添加图标文件
图标文件需要在根目录下添加, 这样才能正常调用注意图标的文件有 2x 和 3x 两种尺寸, 分别为 120x120 和 180x180
当然 Assets 中也要添加, 为了方便在应用中做预览使用
三在使用的地方调用更换函数
最后一步其实很简单, 在需要的地方调用
changeIcon(iconName:String?)
即可, 参数为我们添加好的应用图标名称在
changeIcon(iconName:String?)
中需要判断是否支持更换图标, 以免出错, 当然也可以根据判断提前显示或隐藏该功能
- func changeIcon(iconName: String ? ) {
- if#available(iOS 10.3, *) {
- if UIApplication.shared.supportsAlternateIcons { // 判断设备是否支持更换图标
- print("支持更换图标!")
- // 开始更换
- UIApplication.shared.setAlternateIconName(iconName, completionHandler: { (error) in
- if error != nil {
- print("替换 icon 失败 \(String(describing: error?.localizedDescription))")
- }
- })
- } else {
- print("设备不支持更换图标")
- }
- } else {
- // Fallback on earlier versions
- }
- }
来源: http://www.bubuko.com/infodetail-2502907.html