iOS更换APP图标

今天,在使用'破壳日'的时候,无意中发现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地址.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。