1.配置info.plist文件并且导入icon的资源图片
iphone的资源图片.png
iphone的info.plist配置图.png
ipad的资源图片.png
ipad的info.plist配置图.png
请注意,iphone是CFBundleIcons,在info.plist里输入时,会直接变成Icon files(iOS 5)
ipad是CFBundleIcons~ipad
可在AppDelegate里加入改变icon的代码,但是如果有开机页的,需要延迟几秒钟,执行,否则,改变icon会被取消掉,可以自己试一下
具体的代码如下(我改变icon是通过请求接口的,如果接口让改变,就改变,通过接口返回的icon的名字,直接改,前提是你本地图片资源的名字,要和服务器返回的一样哦,和后台商量好,)
- (void)changeIcon{
if (@available(iOS 10.3, *)) {
if (![[UIApplication sharedApplication] supportsAlternateIcons]) {
NSLog(@"不支持。。。");
return;
}
[[XMGRequestManager create]changeIcon:^(BOOL success, BOOL change, NSString *iconname) {
if (success) {
if (change) {
[[UIApplication sharedApplication]setAlternateIconName:iconname completionHandler:^(NSError * _Nullable error) {
}];
}else{
[[UIApplication sharedApplication]setAlternateIconName:nil completionHandler:nil];//如果没有改变,比如某次活动过去,要换回你们的默认图标,就用这句代码
}
}
}];
}
}