我根据CocoaPods网站上的说明创建了一个新的pod组件。现在我的Pod中有以下结构:
Pods(文件夹)
MyComponent(文件夹)
MyComponent.swift
资源(文件夹)
- name_of_image.png
然而,当我试着打电话时:
UIImage(named: “name_of_image”)
来自MyComponent.swift,我得到了一个" nil"返回。
我已经阅读过包含为我的组件创建一个包的解决方案,但我还没有找到一种自己生成它的正确方法。任何建议都会很好。
由于
答案 0 :(得分:7)
你不能(不应该)在Pod中使用UIImage(named:)
。这将从您的应用中加载图像,而不是从Pod中加载。
您需要首先获取您的Pod NSBundle
,然后使用它来加载图片。您可以使用Pod中的任何课程获取NSBundle
。
let bundle = NSBundle(forClass: ClassFromYourPod.self)
let image = UIImage(named: "xyz", inBundle: bundle, compatibleWithTraitCollection: nil)
答案 1 :(得分:1)
如果您在没有png
xcassets
,这对我有用
let bundle = Bundle(for: ClassInsidePod.self)
let image = UIImage(named: "YourImageName", in: bundle, compatibleWith: nil)
imageView.image = image
但是,如果您在Example
项目中进行测试,则需要使用pod update
更新该项目中的pod。就我而言,在这之前,它总是返回nil