今天,在使用'破殼日'的時(shí)候,無(wú)意中發(fā)現(xiàn)APP中有更換icon這一個(gè)功能.如下圖所示
1.png
程序員的好奇心使我度娘了一番,找到了實(shí)現(xiàn)的方法,做下記錄,以便自己后期查閱.實(shí)現(xiàn)步驟如下:
1.新建一個(gè)工程,并導(dǎo)入你所需要的icon的logo.(略)
2.配置plist文件配置,添加Icon files (iOS 5)類(lèi)型為Dictionary
2.png
3.打開(kāi)點(diǎn)開(kāi)Icon files (iOS 5),設(shè)置Primary Icon 里面的圖片為AppIcon默認(rèn)圖片為1.png
3.png
4.在Icon files (iOS 5)里面創(chuàng)建一個(gè)CFBundleAlternateIcons,類(lèi)型為Dictionary
4.png
5.打開(kāi)CFBundleAlternateIcons摊册,分別添加icon1巴席,icon2,icon3祟牲,它們對(duì)應(yīng)的本地圖片名字是1狂魔,2椎咧,3侠讯。添加時(shí)數(shù)據(jù)類(lèi)型對(duì)應(yīng)一至.
5.png
6.配置完之后,對(duì)應(yīng)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 { //來(lái)判斷是否支持換應(yīng)用圖標(biāo)
//setAlertnateIconName方法有二個(gè)參數(shù)
//第一個(gè)參數(shù)是要換圖標(biāo)的名字(此名字不是圖片的原始名字)挖藏,如果寫(xiě)nil,系統(tǒng)默認(rèn)是最初圖標(biāo)名字
//第二個(gè)參數(shù)是方法執(zhí)行的回調(diào)
UIApplication.shared.setAlternateIconName(name, completionHandler: { (error) in
if (error != nil) {
print(error ?? "失敗")
} else {
print("成功")
}
})
}
}
}
運(yùn)行代碼,效果如下:
1.gif
附Demo地址.