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

Pod (PaymentKit) can't load images using imageNamed

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

到目前为止已经完成的工作(工作项目的变化):

我还修复了我的代码中的一些问题(主要是将 as 更改为 as! 用于转换)。

之后 PaymentKit(未更新)停止加载其图像资产(背景、卡片图像等)。

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

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

更新

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

我认为这里的问题是这个 pod "not ready" 是一个框架。他们使用 imageNamed 而不是

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

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

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

"dirty" 解决方法现在只是将所有资源从此 pod 导入到您的图像资产中,或者只是将其复制到主包中。