iOS10.3新特性之動態(tài)更換APP圖標

iOS 10.3 加入了了更換應用圖標的新功能,當應用安裝后摆碉,開發(fā)者可以為應用提供多個應用圖標選擇橄妆。用戶可以自由的在這些圖標之間切換翎迁。這也是 iOS 主屏首次支持應用圖標更換。如下介紹如何更新應用圖標蕴潦。

一像啼、API介紹

UIApplication 的對象方法,set?Alternate?Icon?Name:?completion?Handler:?可以用來更換應用的圖標潭苞,但是還要設置plist文件內(nèi)容忽冻,后面細致講解。

//alternateIconName  參數(shù)是應用圖片名字此疹,如果該參數(shù)是nil,默認是最初圖標的名字
//completionHandler 是回調(diào)僧诚,如果更換圖片成功,error 為nil,否則不為nil蝗碎;
- (void)setAlternateIconName:(NSString *)alternateIconName 
           completionHandler:(void (^)(NSError *error))completionHandler;
討論

在調(diào)用此方法時湖笨,要用supports?Alternate?Icons 方法,來判斷是否支持換應用圖標蹦骑。另外還要在plist文件中用 CFBundle?Icons 鍵聲明 primary 和 alternate 圖標慈省,如何設置 CFBundle?Icons 鍵,請參考Information Property List Key Reference

二眠菇、Plist文件的配置

下圖是最初應用的圖標边败。


Snip20170331_5.png

下圖中是plist 文件的設置,最初圖標的名字 和 更新圖標和名字要一一對應琼锋。


Snip20170331_1.png
<key>CFBundleIcons</key>  
    <dict>  
        <key>CFBundleAlternateIcons</key>  
        <dict>  
            <key>newIcon</key>  
            <dict>  
                <key>CFBundleIconFiles</key>  
                <array>  
                    <string>newIcon</string>  
                </array>  
                <key>UIPrerenderedIcon</key>  
                <false/>  
            </dict>  
        </dict>  
        <key>CFBundlePrimaryIcon</key>  
        <dict>  
            <key>CFBundleIconFiles</key>  
            <array>  
                <string>Icon</string>  
            </array>  
        </dict>  
    </dict>  

三放闺、代碼實現(xiàn)

如下代碼實現(xiàn)如何更換應用的圖標,主要思路如下
1 系統(tǒng)能否支持更換圖標
2 判斷是否已經(jīng)更新過圖標
3 更新圖標

- (IBAction)changeIcon:(id)sender {
    
    if ([UIApplication sharedApplication].supportsAlternateIcons) {
        NSLog(@"U can change icon image");
        
        //應用是否更新過圖標
        NSString *iconName = [[UIApplication sharedApplication] alternateIconName];
        
        if (iconName) {
        //setAlertnateIconName方法有二個參數(shù)
       //第一個參數(shù)是 要換圖標的名字缕坎,如果寫nil,系統(tǒng)默認是最初圖標名字
      //第二個參數(shù)是 方法執(zhí)行的回調(diào)
            [[UIApplication sharedApplication] setAlternateIconName:nil completionHandler:^(NSError * _Nullable error) {
                if (error) {
                    NSLog(@"errpr = %@",error);
                }else{
                
                    NSLog(@"suceess");
                }
            }];
        }else{
            //換圖標
            [[UIApplication sharedApplication] setAlternateIconName:@"newIcon" completionHandler:^(NSError * _Nullable error) {
                if (error) {
                    NSLog(@"errpr = %@",error);
                }else{
                    
                    NSLog(@"suceess");
                }
            }];
        }  
    }
    

四篡悟、效果圖如下

換圖標效果圖.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谜叹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子搬葬,更是在濱河造成了極大的恐慌荷腊,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件急凰,死亡現(xiàn)場離奇詭異女仰,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門疾忍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乔外,“玉大人,你說我怎么就攤上這事一罩⊙钣祝” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵聂渊,是天一觀的道長差购。 經(jīng)常有香客問我,道長汉嗽,這世上最難降的妖魔是什么欲逃? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮饼暑,結(jié)果婚禮上暖夭,老公的妹妹穿的比我還像新娘。我一直安慰自己撵孤,他們只是感情好迈着,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著邪码,像睡著了一般裕菠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闭专,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天奴潘,我揣著相機與錄音,去河邊找鬼影钉。 笑死画髓,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的平委。 我是一名探鬼主播奈虾,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼廉赔!你這毒婦竟也來了肉微?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤蜡塌,失蹤者是張志新(化名)和其女友劉穎碉纳,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體馏艾,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡劳曹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年奴愉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铁孵。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡锭硼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出库菲,到底是詐尸還是另有隱情账忘,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布熙宇,位于F島的核電站鳖擒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏烫止。R本人自食惡果不足惜蒋荚,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望馆蠕。 院中可真熱鬧期升,春花似錦、人聲如沸互躬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吼渡。三九已至容为,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寺酪,已是汗流浹背坎背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留寄雀,地道東北人得滤。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像盒犹,于是被迫代替她去往敵國和親懂更。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容