iOS 動(dòng)態(tài)修改app圖標(biāo)

在開發(fā)過程中,我們有時(shí)候會(huì)遇到對線上的項(xiàng)目進(jìn)行更改icon的需求.
譬如,明天雙十一搶購,要做一個(gè)活動(dòng)圖標(biāo).后天什么節(jié)日的,要做一個(gè)節(jié)日圖標(biāo)來應(yīng)景一下.那么怎么去實(shí)現(xiàn)呢?

在蘋果官方文檔中有相應(yīng)的API方法去更換Icon.

- (void)setAlternateIconName:(NSString *)alternateIconName 
           completionHandler:(void (^)(NSError *error))completionHandler;

參數(shù):

alternateIconName 為要替換的icon名字,(在這里注意一下,icon文件不要設(shè)置在Assets 里面,新建一個(gè)目錄,里面存放即可).
1.png

completionHandler 為響應(yīng)的回調(diào)處理

要使用結(jié)果執(zhí)行的處理程序。在嘗試更改應(yīng)用程序的圖標(biāo)后涛浙,系統(tǒng)通過調(diào)用處理程序報(bào)告結(jié)果。(處理器是在uikit提供的隊(duì)列上執(zhí)行的檩电,不一定是在應(yīng)用程序的主隊(duì)列上众眨。)處理程序沒有返回值,并接受以下參數(shù):

error 處理返回的錯(cuò)誤信息.

到這里就已經(jīng)了解如何完成任務(wù),下面就讓我們跟著實(shí)踐一下.

首先導(dǎo)入所要更換的icon,
然后修改infoplist文件icon api,新建一個(gè)key為 Icon files (iOS 5)的字典類型item,輸入icon就可選擇.

這里的Primary Icon是設(shè)置app的主icon,可以在這里的Icon files數(shù)組內(nèi)添加搜吧,有多個(gè)的話,依次添加杨凑,也可以這里不用填寫滤奈,直接在Assets.xcassets 里配置

F7E956018A8955B1058ED59AF361FA8E.png

在 Icon files(iOS 5)內(nèi)添加一個(gè)Key: CFBundleAlternateIcons ,類型為字典撩满,

在這個(gè)字典里配置我們所有需要?jiǎng)討B(tài)修改的icon:鍵為icon的名稱僵刮,值為一個(gè)字典(這個(gè)字典里包含兩個(gè)鍵:CFBundleIconFiles,其值類型為Array鹦牛,內(nèi)容為icon的名稱搞糕;UIPrerenderedIcon,其值類型為bool曼追,內(nèi)容為NO窍仰,也可以不加此key)
5A075B0519FFAABB303C33F62B44B45D.png

到這里配置部分就完成了,

代碼實(shí)現(xiàn)就更簡單了


CDBC225A-3979-4015-826E-B008EA963E90.png

然后就完成了.
這里有一個(gè)小小的問題:就是在修改icon的時(shí)候會(huì)出來一個(gè)系統(tǒng)彈框.


C59B6F8D-CDA3-4923-A978-3196FADC704E.png

如果不想用戶操作的話,可以利用runtime動(dòng)態(tài)替換方法去修改.


8F1C224B-1F45-419A-AEEA-825DA36829BB.png

到這里就完美的完成的.

附上本文icon修改demo,歡迎各位大大指點(diǎn)與批評.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市礼殊,隨后出現(xiàn)的幾起案子驹吮,更是在濱河造成了極大的恐慌,老刑警劉巖晶伦,帶你破解...
    沈念sama閱讀 212,222評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碟狞,死亡現(xiàn)場離奇詭異,居然都是意外死亡婚陪,警方通過查閱死者的電腦和手機(jī)族沃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人脆淹,你說我怎么就攤上這事常空。” “怎么了盖溺?”我有些...
    開封第一講書人閱讀 157,720評論 0 348
  • 文/不壞的土叔 我叫張陵漓糙,是天一觀的道長。 經(jīng)常有香客問我烘嘱,道長昆禽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,568評論 1 284
  • 正文 為了忘掉前任蝇庭,我火速辦了婚禮为狸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘遗契。我一直安慰自己辐棒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,696評論 6 386
  • 文/花漫 我一把揭開白布牍蜂。 她就那樣靜靜地躺著漾根,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鲫竞。 梳的紋絲不亂的頭發(fā)上辐怕,一...
    開封第一講書人閱讀 49,879評論 1 290
  • 那天,我揣著相機(jī)與錄音从绘,去河邊找鬼寄疏。 笑死,一個(gè)胖子當(dāng)著我的面吹牛僵井,可吹牛的內(nèi)容都是我干的陕截。 我是一名探鬼主播,決...
    沈念sama閱讀 39,028評論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼批什,長吁一口氣:“原來是場噩夢啊……” “哼农曲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起驻债,我...
    開封第一講書人閱讀 37,773評論 0 268
  • 序言:老撾萬榮一對情侶失蹤乳规,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后合呐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暮的,經(jīng)...
    沈念sama閱讀 44,220評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,550評論 2 327
  • 正文 我和宋清朗相戀三年淌实,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冻辩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猖腕。...
    茶點(diǎn)故事閱讀 38,697評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖微猖,靈堂內(nèi)的尸體忽然破棺而出谈息,到底是詐尸還是另有隱情缘屹,我是刑警寧澤凛剥,帶...
    沈念sama閱讀 34,360評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站轻姿,受9級特大地震影響犁珠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜互亮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,002評論 3 315
  • 文/蒙蒙 一犁享、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧豹休,春花似錦炊昆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至洛搀,卻和暖如春敢茁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背留美。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評論 1 266
  • 我被黑心中介騙來泰國打工彰檬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谎砾。 一個(gè)月前我還...
    沈念sama閱讀 46,433評論 2 360
  • 正文 我出身青樓逢倍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親景图。 傳聞我的和親對象是個(gè)殘疾皇子瓶堕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,587評論 2 350

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