How to get UIImage of AppIcon?
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"];
A modern >iOS10 answer is:
Copy & paste this extension.
extension Bundle { public var icon: UIImage? { if let icons = infoDictionary?["CFBundleIcons"] as? [String: Any], let primary = icons["CFBundlePrimaryIcon"] as? [String: Any], let files = primary["CFBundleIconFiles"] as? [String], let icon = files.last { return UIImage(named: icon) } return nil }}
Then just call this:
Bundle.main.icon
SwiftUI:
Image(uiImage: Bundle.main.icon ?? UIImage())