Use this tag for question related to IOS property list CFBundleAlternateIcons dictionary for programmatically change the IOS app's icon.
CFBundleAlternateIcons allows to change the IOS app's icon programmatically. CFBundleAlternateIcons dictionary has to be placed in Info.plist file following this schema:
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon-1</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>AppIcon-2</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon-2</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>AppIcon-3</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon-3</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
</dict>
As soon as you have your property list configured you have to call the method setAlternateIconName(), which takes an icon name to change to or nil to use the app’s default icon.