Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any way to change the app icon dynamically in ios?

I want to change the app icon dynamically. I receive the image from the server. How do I use that image as alternative app icon. Please make sure the answer is clear. (but as I know, the alternative app icon file should be in our project plist file).

Thanks in advance.

like image 832
user3467582 Avatar asked Dec 18 '25 20:12

user3467582


2 Answers

You cannot change your app icon with an image downloaded from a server at runtime. From the documentation:

You must declare your app's primary and alternate icons using the CFBundleIcons key of your app's Info.plist file. For information about how to configure alternate icons for your app, see the description of the CFBundleIcons key in Information Property List Key Reference.

In order to dynamically set an app icon, you must be able to define it in your Info.plist, but your Info.plist is included in your app bundle, and your app bundle is read-only, so you do not have runtime write access to your Info.plist file. Thus, you cannot change your app icon to an image dynamically downloaded at runtime

like image 139
Michael Hulet Avatar answered Dec 21 '25 08:12

Michael Hulet


Apple launches a cool function so that developers are able to programmatically change the app icon.

In Apple's API document, there are 3 things worth a glance:

var supportsAlternateIcons: Bool { get }
var alternateIconName: String? { get }
func setAlternateIconName(String?, completionHandler: ((Error?) -> Void)? = nil)

Info.plist

Now we just call the method:

changeIcon(to: "icon-imageName")

Reference: https://developer.apple.com/documentation/uikit/uiapplication/2806815-supportsalternateicons

like image 30
Byka Avatar answered Dec 21 '25 08:12

Byka



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!