Pod(PaymentKit)无法使用imageNamed加载图像

时间:2015-04-11 17:56:38

标签: ios swift cocoapods stripe-payments

我正在将我的项目更新为Swift 1.2

到目前为止所做的工作(工作项目的变化):

  • 将Xcode更新为6.3
  • 将Alamofire更新为1.2.0
    • 将其添加到Podfile
    • use_frameworks!添加到Podfile
    • 将Podfile 7.0中的平台更改为8.0
  • 更新了Stripe 3.0.0 - > 3.1.0

我还修复了我的代码中的一些问题(主要是将as更改为as!以进行投射。

之后,PaymentKit(它没有更新)停止加载其图像资产(背景,卡片图像等)。

我已检入派生数据 - PaymentKit.framework包含其中的所有资产。但像[UIImage imageNamed:@"mastercard"]这样的代码返回nil。我花了几个小时试图解决它 - 没有运气......

任何想法可能是什么原因?

更新

我找到了原因 - use_frameworks!标志 但是我不知道如何留下这个标志(Cocoapods要求Alamofire是一个Swift Pod)并且有工作的PaymentKit。 我现在能看到的唯一原因是 - 使用git submodule添加Alamofire,或者只是将它的课程合并到我的项目中。

1 个答案:

答案 0 :(得分:7)

我认为这里的问题是这个吊舱已经没有准备好了#34;成为一个框架。他们使用imageNamed而不是

NSBundle(forClass: self.class()).pathForResource("amex", ofType: "png")

你仍然可以通过这种方式从你的代码中获取这些图像

let image = NSBundle(forClass: PTKView.self).pathForResource("amex", ofType: "png")

"脏"解决方法现在只是将此窗格中的所有资源导入到图像资源或只是将其复制到主捆绑中。