web-dev-qa-db-fra.com

Pod FacobookLogin mis à jour, erreur obtenue: aucune méthode de classe connue pour le sélecteur 'objectForJSONString: error:'

Récemment, j'ai mis à jour les pods mentionnés ci-dessous pour le bouton FacebookLogin implémenté dans mon application

pod 'FacebookCore'
pod 'FacebookLogin'

Les versions des deux pods sont 0.7.0

J'avais mis à jour les pods en utilisant la commande

pod update

Après la mise à jour de la création du projet, il y a une erreur dans le chemin

Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManagerLogger.m: 163: 60: Aucune méthode de classe connue pour le sélecteur 'objectForJSONString: erreur:'

Ces deux erreurs se produisent à deux endroits dans la même classe

Aucune méthode de classe connue pour le sélecteur 'objectForJSONString: error:'

NSDictionary<id, id> *clientState = [FBSDKBasicUtility objectForJSONString:parameters[FBSDKLoginManagerLoggingClientStateKey] error:NULL];
10
alpha47

J'ai fait ma R&D, il n'y avait pas de solution. Je l'ai résolu en supprimant simplement l'intégralité des modules FacebookLogin,

#pod 'FacebookCore'
#pod 'FacebookLogin'

Puis construit le projet, puis réinstallé les mêmes pods avec la dernière version à 5.0, puis le problème semble résolu.

2
alpha47

J'ai dû changer FBSDKBasicUtility en FBSDKInternalUtility. Xcode vous invitera à déverrouiller les fichiers pour effectuer le changement.

5
Chris

J'ai également reçu une notification de Facebook pour mettre à jour le SDK Facebook vers 5.0 (auparavant c'était 4.39.0) Ci-dessous le lien qui montre les dernières fonctionnalités du SDK Facebook:

https://developers.facebook.com/docs/app-events/upgrade-guide

Si vous souhaitez les utiliser, vous devez mettre à jour le SDK et intégrer au niveau du code de nouveaux pods pour Facebook, comme indiqué dans le lien ci-dessus.

Si vous ne souhaitez pas utiliser ces fonctionnalités, vous devez restreindre vos pods à une version spécifique, donc à l'avenir pod update les pods Facebook ne sont pas modifiés.

J'espère que cela t'aides.

3
BhargavR

J'ai dû utiliser Xcode 10 pour créer une application pour prendre en charge les anciennes versions d'iOS. J'obtiendrais cette erreur lors de l'exécution sur un appareil (mais pas un simulateur). Cette erreur disparaîtrait une fois que j'ai recommencé à utiliser Xcode 11.

1
Daniel Ryan