15

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)
      }
    }
}
4

8 に答える 8

1

代わりにこれを使用してください

Change flatMap to compactMap
于 2018-09-24T15:53:01.177 に答える