iOS更换APP图标

2018-02-07  本文已影响94人  翀鹰精灵

今天,在使用'破壳日'的时候,无意中发现APP中有更换icon这一个功能.如下图所示


1.png

程序员的好奇心使我度娘了一番,找到了实现的方法,做下记录,以便自己后期查阅.实现步骤如下:
1.新建一个工程,并导入你所需要的icon的logo.(略)
2.配置plist文件配置,添加Icon files (iOS 5)类型为Dictionary

2.png

3.打开点开Icon files (iOS 5),设置Primary Icon 里面的图片为AppIcon默认图片为1.png

3.png

4.在Icon files (iOS 5)里面创建一个CFBundleAlternateIcons,类型为Dictionary

4.png

5.打开CFBundleAlternateIcons,分别添加icon1,icon2,icon3,它们对应的本地图片名字是1,2,3。添加时数据类型对应一至.

5.png

6.配置完之后,对应VC里面的代码如下:

class ViewController: UIViewController {
    @IBAction func icon01Click(_ sender: UIButton) {
        changeIconImage(name: "icon1")
    }

    @IBAction func icon02Click(_ sender: UIButton) {
        changeIconImage(name: "icon2")
    }
    
    @IBAction func icon03Click(_ sender: UIButton) {
        changeIconImage(name: "icon3")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    fileprivate func changeIconImage(name : String) {
        if UIApplication.shared.supportsAlternateIcons { //来判断是否支持换应用图标
            //setAlertnateIconName方法有二个参数
            //第一个参数是要换图标的名字(此名字不是图片的原始名字),如果写nil,系统默认是最初图标名字
            //第二个参数是方法执行的回调
         UIApplication.shared.setAlternateIconName(name, completionHandler: { (error) in
                if (error != nil) {
                    print(error ?? "失败")
                } else {
                    print("成功")
                }
            })
        }
    }
}

运行代码,效果如下:

1.gif
Demo地址.
上一篇下一篇

猜你喜欢

热点阅读