iOS 10.3新增了應用內更換APP Icon的功能拇颅,今天我們就來簡單學習一下弥锄。
官方文檔介紹
文檔中說你需要在info.plist里面配置好IconsFiles
info.plist配置示例
- Primary Icon:主要圖標
- Icon files:圖標數組
- Icon already includes gloss effects:圖標已經包括光亮效果
- CFBundleAlternateIcons:包含有關應用程序所使用的所有圖標的信息。此鍵允許您根據其預期的使用組合圖標锌唾,并指定多個圖標文件篓像,并使用特定的鍵來修改這些圖標的外觀。(當有多個備選圖標時涩僻,在該數組下面增加多個Dictionary)
- NoImagePlac(Dictionary):圖標字典缭召,以圖片名稱作為字典名(setalternateiconname:completionhandler函數中的Name必須是和改字典名稱一致的才能生效)
- CFBundleIconFiles:用于指定捆綁圖標圖像文件的文件名的頂級鍵
- UIPrerenderedIcon:圖標文件是否已包含光亮效果,如果有了逆日,蘋果就不會給你加光亮效果(不設置或者為NO時會給你加上閃爍效果)嵌巷。
- NoImagePlac(Dictionary):圖標字典缭召,以圖片名稱作為字典名(setalternateiconname:completionhandler函數中的Name必須是和改字典名稱一致的才能生效)
官方文檔注釋內容鏈接
官方文檔截圖
具體實現
一. 在Assets中為應用設置一個AppIcon
二. 依照上面的Info.plist來配置CFBundleAlternateIcons
被切換的圖標圖片必須放在工程里面,放在Assets無效屏富。
三. 使用代碼進行切換
//判斷是否支持切換圖標
if ([UIApplication sharedApplication].supportsAlternateIcons) {
[[UIApplication sharedApplication] setAlternateIconName:@"NoImagePlac" completionHandler:^(NSError * _Nullable error) {
NSLog(@"%@",error);
}];
}
這樣設置過后將會彈出一個提示框來提示你修改成功晴竞。