【问题标题】:Facebook SDK with Swift 4/Xcode 10: Argument type 'SDKLoggingBehavior?' does not conform to expected type 'Sequence'带有 Swift 4/Xcode 10 的 Facebook SDK:参数类型“SDKLoggingBehavior?”不符合预期的“序列”类型
【发布时间】:2019-04-08 05:21:08
【问题描述】:

我正在重新访问一个旧项目(使用 Swift 3 构建,现在使用 Swift 4),看起来 Facebook SDK 存在一些问题。

我搜索了最初的问题并找到了一个解决方案 here,它建议添加到我的 pod 文件中:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        if ['FacebookCore', 'FacebookLogin'].include? target.name
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '3.2'
            end
        end
    end
end

Here is the complete podfile.

pod install 运行项目之后,它似乎清除了我之前的错误,但是我仍然在第 151 行的Pods>Pods>FacebookCore>SDKSettings.swift>enabledLoggingBehaviors 中遇到一个错误return Set(behaviors)

错误是(pic):

Argument type 'SDKLoggingBehavior?' does not conform to expected type 'Sequence'

我不确定如何处理此错误,有人知道如何解决此问题以使 Facebook SDK 再次工作吗?

提前感谢您的帮助!

【问题讨论】:

    标签: ios swift xcode facebook facebook-sdk-4.0


    【解决方案1】:

    在 SDKSetting.swift 中

    替换您的 enabledLoggingBehaviors 函数
    public static var enabledLoggingBehaviors: Set<SDKLoggingBehavior> {
        get {
          let behaviors = FBSDKSettings.loggingBehavior().compactMap { object -> SDKLoggingBehavior? in
            if let value = object as? String {
              return SDKLoggingBehavior(sdkStringValue: value)
            }
            return nil
          }
          return Set(behaviors)
        }
        set {
          let behaviors = newValue.map({ $0.sdkStringValue })
          FBSDKSettings.setLoggingBehavior(Set(behaviors))
        }
      }
    

    希望对您有所帮助。

    【讨论】:

    • 很抱歉花了这么长时间才回到这个问题上,解决方案效果很好。我很新,所以我不确定我会完全理解,但是这个解决方案做了什么让它工作?看起来所有的更改都是 flatMapcompactMap。非常感谢您的帮助,这让我发疯了!
    【解决方案2】:

    flatMap 替换为compactMap 即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多