J'ai mis à jour Xcode 10 et je suis incapable de compiler mon code. Je reçois l'erreur suivante du SDK Facebook (FacebookCore).
Type d'argument 'SDKLoggingBehavior?' n'est pas conforme au type attendu 'Séquence'
En ligne
return Set (comportements)
J'ai installé le dernier FBSDK en utilisant des cocoapodes.
Comment puis-je résoudre ce problème ou s’agit-il d’attendre un SDK mis à jour de 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)
}
}
}
Ceci est corrigé dans la dernière version 0.3.1 (à compter du 8 juin 2018).
Ancienne réponse:
Ceci est corrigé dans le dernier maître, mais pas dans la dernière version de balise ou Cocoapod.
Pour l'utiliser, clonez le code directement à partir de la branche maître dans votre projet à partir du référentiel Swift SDK , ou modifiez votre podfile pour qu'il pointe vers maître:
pod 'FacebookCore', :git => 'https://github.com/facebook/facebook-sdk-Swift', :branch => 'master'
La demande d'extraction qui a résolu ce problème peut être trouvée ici .
Ajout à @ JAL's réponse:
Pour moi, l'installation de pods me donne toujours la version 0.3.0
modifier PodFile
avec le dernier numéro de version me donne le dernier sdk
pod 'FacebookCore','0.5.0'
pod 'FacebookLogin','0.5.0'
pod 'FacebookShare','0.5.0'
Mettez à jour votre podfile comme suit:
pod 'FacebookCore',: git => ' https://github.com/facebook/facebook-sdk-Swift ',: branch => 'master'
pod 'FacebookLogin',: git => ' https://github.com/facebook/facebook-sdk-Swift ',: branch => 'master'
pod 'FacebookShare',: git => ' https://github.com/facebook/facebook-sdk-Swift ',: branch => 'master'
Dans xcode 10 . Cela fonctionne pour moi.
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
espère que son aide
Change flatMap to compactMap
Il suffit de mettre à jour votre pod et cela fonctionne bien pour moi