0

RxCocoa 3.6.1 版无法在 Xcode 9 中构建并显示错误消息:

Initializer 'init(parentObject:)' with Objective-C selector   'initWithParentObject:' conflicts with initializer 'init(parentObject:)' from superclass 'RxScrollViewDelegateProxy' with the same Objective-C selector      
4

1 回答 1

2

这似乎是由@objc 推断引起的。奇怪的是,关闭 Swift 3 风格的 @objc 推断似乎可以解决这个问题。将其放在 Podfile 的末尾:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '3.2'
      if target.name == 'RxCocoa' then
        config.build_settings['SWIFT_SWIFT3_OBJC_INFERENCE'] = 'Off'
      end
    end
  end
end

这会将所有 Pod 设置为使用 Swift 3.2 构建 a 禁用 RxCocoa 的 @objc 推理。

于 2017-09-21T12:13:57.053 回答