我正在创建一个pod,并且我有一个我想要使用的图像资产目录。在我的.podspec文件中,我将其设置如下:
s.resource_bundles = {
'MyPodResources' => ['*.xcassets']
}Images.xcassets在pod的根目录下。
当我尝试使用imageNamed()加载图像时,它就是不起作用。我没有收到错误或警告,但没有图像显示。
有趣的是,如果我尝试在示例应用程序的Main.storyboard中添加一个图像,我可以选择该图像,它在Interface Builder中显示得很好。但是,当我运行示例应用程序时,图像不可见。
我已经查看了GH上的所有问题,但仍然找不到解决方案……是Xcode7/iOS 9的问题吗?
谢谢!
发布于 2016-04-12 14:18:42
最后,我为UIImage编写了一个扩展,并将其放在pod目录中。它看起来是这样的:
class func bundledImage(named: String) -> UIImage? {
let image = UIImage(named: named)
if image == nil {
return UIImage(named: named, inBundle: NSBundle(forClass: MyBasePodClass.classForCoder()), compatibleWithTraitCollection: nil)
} // Replace MyBasePodClass with yours
return image
}我像这样使用它:imageView.image = UIImage.bundledImage("icon-grid")
就是这样,希望有人能找到有用的东西!
发布于 2020-03-24 22:22:12
我也遇到了同样的问题,我发现了一小段关于.podspec文件的重要信息
我试图在故事板的.xcassets中使用我的pods捆绑包中的图像,它在故事板中显示得很好,但当我运行应用程序时,它会崩溃,说找不到资源。
我更改了我的播客规范,使其既包含s.resource_bundles也包含s.resources
s.resource_bundles = {
'SDKRes' => ['SDK/Assets/*']
}
s.resources = ['SDK/Assets/*.{xcassets}']然后它就能够从故事板中正确地加载资源了
发布于 2017-11-01 15:20:43
在Swift 3中:
let bundle: Bundle = Bundle(identifier: "Framework Bundle ID")!
yourImageView.image = UIImage(named: "imageNameInAssets", in: bundle, compatibleWith: nil)https://stackoverflow.com/questions/33063233
复制相似问题