FacebookSDK et boulons se contredisant (symboles en double) lors de la construction

Je ne sais pas quel est le problème .. 91 symboles trouvés en double pour armv7

Suis sur un projet Swift ciblant iOS 7.1.

Les deux frameworks sont des dernières versions .

Essayé projet de nettoyage et de supprimer datatables dérivées., Mais en vain.

duplicate symbol _OBJC_IVAR_$_BFAppLinkTarget._URL in: /Users/rynecheow/Development/THPopQuiz/Frameworks/FacebookSDK.framework/FacebookSDK(BFAppLinkTarget.o) /Users/rynecheow/Development/THPopQuiz/Frameworks/Bolts.framework/Bolts(BFAppLinkTarget.o) duplicate symbol _OBJC_IVAR_$_BFAppLinkTarget._appStoreId in: /Users/rynecheow/Development/THPopQuiz/Frameworks/FacebookSDK.framework/FacebookSDK(BFAppLinkTarget.o) /Users/rynecheow/Development/THPopQuiz/Frameworks/Bolts.framework/Bolts(BFAppLinkTarget.o) duplicate symbol _OBJC_IVAR_$_BFAppLinkTarget._appName in: /Users/rynecheow/Development/THPopQuiz/Frameworks/FacebookSDK.framework/FacebookSDK(BFAppLinkTarget.o) /Users/rynecheow/Development/THPopQuiz/Frameworks/Bolts.framework/Bolts(BFAppLinkTarget.o) 

Avait le même problème.

  • Supprimer le Bolts.framework n'était pas une solution puisque j'obtiens les erreurs mentionnées par Leo Flaherty (commentaire dans la réponse acceptée).
  • L'utilisation de la solution mentionnée par iOS_DEV me semble être un horrible hack .
  • L'utilisation des derniers SDK Parse et Facebook n'était pas non plus une solution (mentionnée par Simon Bøgh ) puisque j'utilisais la version 3.x du SDK Facebook et la dernière version 4.x. Les mentions de Facebook SDK Change : Le SDK Facebook pour iOS v4.0 est une mise à niveau majeure de la version. Comme je devais respecter une date limite, je ne pouvais pas consacrer du time à réécrire tout mon code Facebook, pour l'adapter à la nouvelle version du SDK 4.x.

Solution que je propose:

Au lieu d'append le Bolts.framework et FacebookSDK.framework comme cadre à votre projet, ajoutez-les en tant que Pods :

 pod 'Bolts' pod 'Facebook-iOS-SDK', '3.23.1' 

Retrouvez ici toutes les versions de SDK Facebook disponibles, au cas où vous auriez besoin d'en utiliser une qui n'est pas la dernière.
Si vous utilisez Swift, vous devez append ce qui suit dans votre en-tête de pontage:
#import <FacebookSDK/FacebookSDK.h> #import <Bolts/Bolts.h>

J'ai eu le même problème avec les 91 duplicates. Ce qui a fonctionné pour moi était simplement de supprimer le Bolts.framework qui semble être en quelque sorte déjà inclus dans Facebook nouveau SDK.

J'espère que cela aide!

Cela a fonctionné pour moi.

1) J'ai supprimé le nom de Bolts.fr fourni avec parse.

2) Ajout seulement d'parsingr (sélection de copy dans le dossier de destination) & facebookSDK (décochant copy dans le dossier de destination). Vérifiez également le path de search de la structure dans les parameters de construction.

3) Ajout de NSSsortingng *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";

dans AppDelegate.m avant

 @interface AppDelegate () @end 

Je sais qu'une réponse a déjà été acceptée, mais cela a maintenant été résolu par Facebook .

Si vous téléchargez le dernier kit Parse SDK (1.7.0) et Facebook SDK (4.0.0) à ce jour, cela devrait fonctionner correctement. Les deux SDK ont été mis à jour il y a quelques heures.

J'ai importé et copié Bolts.framework et Parse.framework à partir du kit Parse SDK, puis lié au SDK de Facebook (maintenant appelé FBSDKCoreKit.framework), et il construit avec succès le projet.

Question en double: Parse et facebook sdk-symbole en double

Suivez ces étapes: applicatonTarget-> Build Phase-> expend Comstack les sources.

Ici, vous devez supprimer le file qui provoque une erreur de symbole en double. Puis build à nouveau. entrez la description de l'image ici