今天我发现我的项目存在问题。我无法在真实设备上运行它,因为当它到达来 self 正在使用的 pod 的代码部分时,我收到“无法识别的选择器发送到实例”错误。如果我用这段代码注释该部分,我就可以运行该应用程序。 这里的问题是我以前没有遇到过这个问题,它只是无中生有。
在链接的框架和库下,我的 pod 被链接为“可选”,因为如果它被标记为“必需”,我会收到“dyld:库未加载”错误。位码也已启用,更改此设置没有任何区别。
目前我使用的是 XCode 7.0 (7A220) 和 Cocoapods 版本 0.38.2。
如果您能提供任何有关此问题的提示,我会很高兴。
@编辑 我发现我能够运行其他 Pod。该问题与 PureLayout pod 相关。
@Edit2代码
class MainViewController: UIViewController {
var label : UILabel!
override func viewDidLoad() {
super.viewDidLoad()
self.setupView()
}
func setupView() {
self.view.backgroundColor = UIColor.whiteColor()
label = UILabel()
self.view.addSubview(label)
label.autoPinEdgesToSuperviewEdges()
}
}
此 View Controller 在应用程序启动时显示。这段代码代表了应用程序崩溃的整个情况,即使在这个简单的 View 上 -
[UILabel autoPinEdgesToSuperviewEdges]
:发送到实例的无法识别的选择器。
编辑 相同的代码适用于发布构建配置。有谁知道为什么?
最佳答案
我能建议的最好的事情就是从头开始。根据您拥有的代码量,这可能会令人生畏,但这是我所能提供的最好的。但我的建议是:在错误被消除之前不要转向其他事情,这样做可以减轻你很多压力。
关于ios - 设备上的 PureLayout : unrecognized selector sent to instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33001984/