iOS app更換icon有兩種方式
1、替換AppIcon然后重新打包上架
2枢纠、方法:setAlternateIconName 方法,提前在項(xiàng)目里面加入后面可能要換成的圖片,在代碼里面合適的時(shí)候調(diào)用該方法替換icon
(1)首先準(zhǔn)備好圖片資源
(2)配置info.plist
在圖1里面配置了一張名稱為hangupnormal的圖片发钝,只配置一張
你也可以配置多尺寸的
(3)在合適的地方執(zhí)行方法
示例:[[UIApplication sharedApplication] setAlternateIconName:@"hangupnormal" completionHandler:^(NSError * _Nullable error) {
//? ? ? ?
//? ? }];
注意事項(xiàng):
1菇篡、setAlternateIconName不能在didFinishLaunchingWithOptions中調(diào)用漩符,會(huì)報(bào)3072錯(cuò)誤,需要在ViewController中調(diào)用驱还,初步猜想可能是需要window初始化成功后調(diào)用嗜暴,需要一個(gè)ViewController或者是UINavigationController之類的,沒有去驗(yàn)證
2议蟆、supportsAlternateIcons只是檢測(cè)是否能進(jìn)行更換闷沥,并不能進(jìn)行系統(tǒng)版本號(hào)判斷,需要自己進(jìn)行版本判斷咐容,要不然在低版本系統(tǒng)中會(huì)崩潰狐赡,比如:iOS7
3、icon資源文件需要在項(xiàng)目目錄下疟丙,不能是Assets.xcassets中的圖片颖侄,建議放在項(xiàng)目下的icons目錄下,其他目錄好像也有問題
4享郊、然后就是當(dāng)你調(diào)這個(gè)方法更改icon成功時(shí)會(huì)一個(gè)系統(tǒng)提示框览祖,交互很不友好,經(jīng)過研究炊琉,發(fā)現(xiàn)他這個(gè)彈框是uialertcontroller 里面套了個(gè)自定義的視圖展蒂,這個(gè)alert controller沒有title和message,所以有的同學(xué)想出了一個(gè)方法苔咪,就是運(yùn)行時(shí)替換presentviewcontroller方法锰悼。匹配到?jīng)]有title的alert controller就取消執(zhí)行
參考鏈接:http://www.reibang.com/p/9c78f161eeb8和?http://www.reibang.com/p/69313970d0e7