Xcode 10 FBSDK'SDKLoggingBehavior

Mat*_*ack 15 facebook facebook-ios-sdk swift xcode10

我已更新到Xcode 10并且无法编译我的代码.我从Facebook SDK(FacebookCore)收到以下错误.

参数类型'SDKLoggingBehavior?' 不符合预期类型'序列'

在线

return Set(行为)

我已经使用cocoapods安装了最新的FBSDK.

我将如何解决这个问题,还是等待来自FB的更新SDK?

extension SDKSettings {
      /**
       Current logging behaviors of Facebook SDK.
       The default enabled behavior is `.DeveloperErrors` only.
       */
      public static var enabledLoggingBehaviors: Set<SDKLoggingBehavior> {
        get {
          let behaviors = FBSDKSettings.loggingBehavior().flatMap { 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))
        }
      }

      /**
       Enable a particular Facebook SDK logging behavior.

       - parameter behavior: The behavior to enable
       */
      public static func enableLoggingBehavior(_ behavior: SDKLoggingBehavior) {
        FBSDKSettings.enableLoggingBehavior(behavior.sdkStringValue)
      }

      /**
       Disable a particular Facebook SDK logging behavior.

       - parameter behavior: The behavior to disable.
       */
      public static func disableLoggingBehavior(_ behavior: SDKLoggingBehavior) {
        FBSDKSettings.disableLoggingBehavior(behavior.sdkStringValue)
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

JAL*_*JAL 14

这在最新版本0.3.1(截至2018年6月8日)中已得到修复.

老答案:

这已在最新的主数据中修复,但不在最新的标记或Cocoapod版本中.

要使用它,请将代码直接从主分支克隆到Swift SDK repo中的项目中,或将podfile更改为指向master:

pod 'FacebookCore', :git => 'https://github.com/facebook/facebook-sdk-swift', :branch => 'master'
Run Code Online (Sandbox Code Playgroud)

可以在此处找到解决此问题的拉取请求.


Zai*_*rza 10

添加到@ JAL的答案:

对我来说,安装pod仍然给我版本 0.3.0

PodFile用最新版本号修改给我最新的sdk

  pod 'FacebookCore','0.5.0'
  pod 'FacebookLogin','0.5.0'
  pod 'FacebookShare','0.5.0'
Run Code Online (Sandbox Code Playgroud)