I am using Assets Catalog, and adding app icon of various size to the assets is okay.
But when I tried to get the UIImage programmatically, it returned nil.
UIImage *appIcon = [UIImage imageNamed"AppIcon"];
The app icon is named AppIcon
(the default), and the actual files are app-icon-256.png
etc.
I also noticed that unlike normal images, app icons are in an "App Icon" set, in the directory AppIcon.appiconset
. Normal images are in the directory someimage.imageset
.
The problem is that the AppIcon from the asset catalog is not placed in the the catalog after compiling. Instated it it copied into your apps bundle, just like before.
The name conversion used when copying the icon to the app bundle is AppIcon<size>.png
, where the size is for example 40x40
or 72x72
You can get your apps icons by specifying the size of the app icon you want:
UIImage *appIcon = [UIImage imageNamed:@"AppIcon40x40"];