我在主包中找不到我的 AppIcon

Posted

技术标签:

【中文标题】我在主包中找不到我的 AppIcon【英文标题】:I can't find my AppIcon in the main bundle 【发布时间】:2019-12-16 00:11:03 【问题描述】:

我有这段代码...

guard let filePath = Bundle.main.path(forResource: "AppIcon", ofType: "png") else 
        print("Image not found")
        return nil
    

这是返回零,我似乎无法弄清楚。我假设我的文件路径是错误的。有什么建议么?

【问题讨论】:

看起来您正在尝试访问文件夹AppIcon,扩展名为png?尝试将ofType 更改为.appiconset 你好检查this答案,可以帮助你 【参考方案1】:

试试这个。希望对您有所帮助。

extension Bundle 
 public var icon: UIImage? 
    if let icons = infoDictionary?["CFBundleIcons"] as? [String: Any],
        let primaryIcon = icons["CFBundlePrimaryIcon"] as? [String: Any],
        let iconFiles = primaryIcon["CFBundleIconFiles"] as? [String],
        let lastIcon = iconFiles.last 
        return UIImage(named: lastIcon)
    
    return nil
  

您可以像这样在您的应用中使用它:

let imageView = UIImageView()
imageView.image = Bundle.main.icon

【讨论】:

我正在使用 let attachement = 试试? UNNotificationAttachment(标识符:“附件”,url:fileURL,options:nil),所以我需要url。我尝试了 iconFiles.last 的扩展,但仍然无法得到它。它返回零。就是想不通。

以上是关于我在主包中找不到我的 AppIcon的主要内容,如果未能解决你的问题,请参考以下文章

无法合并具有两个不同实体的模型

无效的图像路径 - 在键“CFBundleIcons”下引用的路径中找不到图像:“AppIcon20x20”[重复]

如何修复错误 ITMS-90032:“无效的图像路径 - 在键 'CFBundleIcons' 下引用的路径中找不到图像:'AppIcon60x60'”?

在包中找不到属性“layout_behavior”的资源标识符

使用 fastlane 在 crashlytics 包中找不到提交二进制文件

CoreData 在 OSX 框架包中找不到映射模型,但在 iOS 中可以正常工作