【问题标题】:PureLayout on device: unrecognized selector sent to instance设备上的 PureLayout:发送到实例的无法识别的选择器
【发布时间】:2015-10-07 20:35:24
【问题描述】:

今天我发现我的项目有问题。我无法在真实设备上运行它,因为当它到达来自我正在使用的 pod 的代码部分时,我收到“无法识别的选择器发送到实例”错误。如果我使用此代码注释该部分,我可以运行该应用程序。 这里的问题是我之前没有遇到过这个问题,它只是无中生有。

在链接的框架和库下,我的 pod 链接为“可选”,因为如果将其标记为“必需”,我会收到“dyld:未加载库”错误。 Bitcode 也已启用,更改此设置没有任何区别。

目前我正在使用 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()
  }
}

此视图控制器在应用启动时显示。即使在这个简单的视图中,这段代码也代表了应用程序崩溃的整个情况 - [UILabel autoPinEdgesToSuperviewEdges]: 无法识别的选择器发送到实例。

编辑 相同的代码适用于发布构建配置。有谁知道为什么?

【问题讨论】:

  • 当我在发布构建配置上运行相同的代码时,它不会崩溃。有谁知道为什么?
  • “相同代码”是什么意思。它不再崩溃了吗?
  • 'Same code' 是指我发布的那个。当我在发布版本上运行它时,它不会崩溃。它仍然在调试构建配置时崩溃。不明白为什么。
  • 我真的很困惑。我一直在寻找所有这些事情的答案。在对项目进行太多更改后,我一直在恢复 git 存储库。它继续工作和失败。有时它在调试时工作,在发布时失败,但对此没有严格的条件。它刚刚开始工作,然后在再次恢复后一直失败。

标签: ios iphone xcode swift cocoapods


【解决方案1】:

我能建议的最好的事情是从不同的开始重新开始。取决于你有多少代码,这可能会令人生畏,但这是我能提供的最好的。但我的建议是:在消除错误之前不要转移到其他东西上,这样做可以为您节省很多压力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-28
    • 2012-07-24
    相关资源
    最近更新 更多