我尝试用它自己的图像构建一个框架,它编译得很好。但是,当我在另一个项目中包含我的框架时,加载图像时它崩溃了,知道吗?
ImageTest(我的框架)
public class ImageTest {
open func getImage() {
return #imageLiteral(resourceName: "IMG_0745")
}
}
我的项目
import ImageTest
...
...
override func viewDidLoad() {
super.viewDidLoad()
let imageView = UIImageView(image: ImageTest.getImage()) // crash !
imageView.center = view.center
view.addSubview(imageView)
}
最佳答案
图像在 ImageTest 框架中。当您执行此代码时,返回#imageLiteral(resourceName: "IMG_0745")
,它查看 ImageTest 项目的 Image.xcassets,当它在那里找不到图像时,它会导致崩溃。
更改您的代码以使用 init function 的捆绑参数
open func getImage() {
return UIImage(named:"IMG_0745", bundle:Bundle(for: self), compatibleWith:nil)
}
关于ios - 如何使用 xcassets 构建框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47508204/