Pod (PaymentKit) 无法使用 imageNamed 加载图像
Pod (PaymentKit) can't load images using imageNamed
我正在将我的项目更新到 Swift 1.2
到目前为止已经完成的工作(工作项目的变化):
- 已将 Xcode 更新为 6.3
- 将 Alamofire 更新至 1.2.0
- 将其添加到 Podfile
- 已将
use_frameworks!
添加到 Podfile
- 将 Podfile 7.0 中的平台更改为 8.0
- 更新条纹 3.0.0 -> 3.1.0
我还修复了我的代码中的一些问题(主要是将 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 导入到您的图像资产中,或者只是将其复制到主包中。
我正在将我的项目更新到 Swift 1.2
到目前为止已经完成的工作(工作项目的变化):
- 已将 Xcode 更新为 6.3
- 将 Alamofire 更新至 1.2.0
- 将其添加到 Podfile
- 已将
use_frameworks!
添加到 Podfile - 将 Podfile 7.0 中的平台更改为 8.0
- 更新条纹 3.0.0 -> 3.1.0
我还修复了我的代码中的一些问题(主要是将 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 导入到您的图像资产中,或者只是将其复制到主包中。