How to get UIImage of AppIcon?

2020-02-24 07:29发布

问题:

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.

回答1:

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"];