Swift - Pod图像未加载(未找到,返回nil)

时间:2015-11-29 13:17:12

标签: swift cocoapods

我根据CocoaPods网站上的说明创建了一个新的pod组件。现在我的Pod中有以下结构:

  
      
  • Pods(文件夹)

         
        
    • MyComponent(文件夹)

           
          
      • MyComponent.swift

      •   
      • 资源(文件夹)

             
            
        • name_of_image.png
        •   
      •   
    •   
  •   

然而,当我试着打电话时:

UIImage(named: “name_of_image”)

来自MyComponent.swift,我得到了一个" nil"返回。

我已经阅读过包含为我的组件创建一个包的解决方案,但我还没有找到一种自己生成它的正确方法。任何建议都会很好。

由于

2 个答案:

答案 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