iOS 10.3新增了應(yīng)用內(nèi)更換APP Icon的功能,今天我們就來(lái)簡(jiǎn)單學(xué)習(xí)一下。
官方文檔介紹
文檔中說(shuō)你需要在info.plist里面配置好IconsFiles

info.plist配置示例
- Primary Icon:主要圖標(biāo)
- Icon files:圖標(biāo)數(shù)組
- Icon already includes gloss effects:圖標(biāo)已經(jīng)包括光亮效果
- CFBundleAlternateIcons:包含有關(guān)應(yīng)用程序所使用的所有圖標(biāo)的信息。此鍵允許您根據(jù)其預(yù)期的使用組合圖標(biāo),并指定多個(gè)圖標(biāo)文件,并使用特定的鍵來(lái)修改這些圖標(biāo)的外觀(guān)。(當(dāng)有多個(gè)備選圖標(biāo)時(shí),在該數(shù)組下面增加多個(gè)Dictionary)
- NoImagePlac(Dictionary):圖標(biāo)字典,以圖片名稱(chēng)作為字典名(setalternateiconname:completionhandler函數(shù)中的Name必須是和改字典名稱(chēng)一致的才能生效)
- CFBundleIconFiles:用于指定捆綁圖標(biāo)圖像文件的文件名的頂級(jí)鍵
- UIPrerenderedIcon:圖標(biāo)文件是否已包含光亮效果,如果有了,蘋(píng)果就不會(huì)給你加光亮效果(不設(shè)置或者為NO時(shí)會(huì)給你加上閃爍效果)。
- NoImagePlac(Dictionary):圖標(biāo)字典,以圖片名稱(chēng)作為字典名(setalternateiconname:completionhandler函數(shù)中的Name必須是和改字典名稱(chēng)一致的才能生效)
官方文檔注釋內(nèi)容鏈接

官方文檔截圖
具體實(shí)現(xiàn)
一. 在A(yíng)ssets中為應(yīng)用設(shè)置一個(gè)AppIcon
二. 依照上面的Info.plist來(lái)配置CFBundleAlternateIcons
被切換的圖標(biāo)圖片必須放在工程里面,放在A(yíng)ssets無(wú)效。
三. 使用代碼進(jìn)行切換
//判斷是否支持切換圖標(biāo)
if ([UIApplication sharedApplication].supportsAlternateIcons) {
[[UIApplication sharedApplication] setAlternateIconName:@"NoImagePlac" completionHandler:^(NSError * _Nullable error) {
NSLog(@"%@",error);
}];
}
這樣設(shè)置過(guò)后將會(huì)彈出一個(gè)提示框來(lái)提示你修改成功。