My question is also same that others asked before.
I found that once you set the Icon for the Application we can\'t change the Application
There is a method called setAlternateIconName: which is introduced in iOS 10.3, through which you can change the app's icon, however these icons should be predefined. It means that the icons should be added to the app's bundle and referenced in the info.plist.
A typical info.plist looks like:
CFBundleIcons
CFBundleAlternateIcons
alternate_icon_name
CFBundleIconFiles
alternate_icon_file
UIPrerenderedIcon
CFBundlePrimaryIcon
CFBundleIconFiles
default_icon_file
UIPrerenderedIcon
Implement the code like:
Objective C:
[[UIApplication sharedApplication] setAlternateIconName:@"alternate_icon_name" completionHandler:^(NSError * _Nullable error) {
NSLog(@"Error...");
}];
Swift 3:
if UIApplication.shared.supportsAlternateIcons
{
UIApplication.shared.setAlternateIconName("alternate_icon_name", completionHandler: { (error) in
print(error ?? "")
})
}
You cannot change the icon file dynamically, because the icon file name is stored on the application plist.
.
You cannot change the application plist dynamically, because it is stored on the application bundle which is readonly.
So your requirement is not possible.