从xcassets加载应用图标

我想显示我的应用程序内的应用程序图标。 该图标位于默认资产目录( Images.xcassets )中。

你如何加载它? 我尝试了以下,他们都返回nil

 image = [UIImage imageNamed:@"AppIcon"]; image = [UIImage imageNamed:@"icon"]; image = [UIImage imageNamed:@"icon-76"]; image = [UIImage imageNamed:@"icon-60"]; 

资产目录中的其他图像按预期工作。

通过检查捆绑,我发现图标图像被重命名为:

 AppIcon76x76~ipad.png AppIcon76x76@2x~ipad.png AppIcon60x60@2x.png 

等等。

因此,使用[UIImage imageNamed:@"AppIcon76x76"]或类似的作品。

这是logging在某处吗?

我build议通过检查Info.plist检索图标URL,因为不能保证Icon文件的命名方式:

 NSDictionary *infoPlist = [[NSBundle mainBundle] infoDictionary]; NSString *icon = [[infoPlist valueForKeyPath:@"CFBundleIcons.CFBundlePrimaryIcon.CFBundleIconFiles"] lastObject]; imageView.image = [UIImage imageNamed:icon]; 

在这种情况下,我们正在获取CFBundleIconFiles数组的最后一个图像URL。 它有最大的分辨率。 如果您需要较小的分辨率,请更改此项。