it-swarm.com.ru

Xcode 10 FBSDK 'SDKLoggingBehavior

Я обновился до Xcode 10 и не могу скомпилировать мой код. Я получаю следующую ошибку из Facebook SDK (FacebookCore). 

Тип аргумента 'SDKLoggingBehavior?' не соответствует ожидаемому типу 'Последовательность'

Онлайн

вернуть Set (поведение)

Я установил последний FBSDK, используя cocoapods.

Как мне решить эту проблему или это ожидание обновления SDK от FB?

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)
      }
    }
}
13
MattBlack

Это исправлено в последней версии 0.3.1 (по состоянию на 8 июня 2018 года).

Старый ответ:

Это исправлено в последнем мастере, но не в последнем теге или выпуске Cocoapod.

Чтобы использовать это, клонируйте код непосредственно из главной ветки в ваш проект из Swift SDK repo или измените ваш подфайл так, чтобы он указывал на master:

pod 'FacebookCore', :git => 'https://github.com/facebook/facebook-sdk-Swift', :branch => 'master'

Запрос на удаление, который исправил эту проблему, можно найти здесь .

13
JAL

Добавление к @ JAL's answer:

Для меня установка модулей по-прежнему дает мне версию 0.3.0

изменение PodFile с номером последней версии дает мне последний SDK

  pod 'FacebookCore','0.5.0'
  pod 'FacebookLogin','0.5.0'
  pod 'FacebookShare','0.5.0'
7
Zaid Mirza
  1. Установите для Deployement Target значение 11.0 (в проекте и подфайле)
  2. Сделайте 'обновление репо под'
  3. Обновите ваш Podfile следующим образом:

    модуль 'FacebookCore',: git => ' https://github.com/facebook/facebook-sdk-Swift ',: branch => 'master'

    модуль 'FacebookLogin',: git => ' https://github.com/facebook/facebook-sdk-Swift ',: branch => 'master'

    модуль 'FacebookShare',: git => ' https://github.com/facebook/facebook-sdk-Swift ',: branch => 'master'

3
n.by.n

В Xcode 10 . Это работает для меня.

1. change the iOS version 11.0
2. for Swift 4.2 replace flatMap() to compactMap()
3. delete the derived data of project.
4. clean and run the project on simulator

надеюсь, что это поможет

1
Abuzar Manzoor

Используйте это вместо

Change flatMap to compactMap
1
MUHAMMAD HASSAN

Просто обновите ваш модуль и он работает нормально для меня

  1. Откройте терминал и установите путь к проекту
  2. 'обновление репо под'
  3. Цель развертывания 11.0 или выше
0
Sahidul Islam