ld: framework non trouvé Stripe pour l'architecture x86_64
J'ai un iOS composant qui s'appuie sur la Bande SDK iOSProjet A. j'ai inclus la Bande SDK dans Un Projet dans Xcode et il compile bien.
Cependant, je suis en train de construire un autre projet dans Xcode qui s'appuie sur cette composante, le Projet B. j'ai ajouté Un Projet pour le Projet B de bibliothèques. Le projet s'appuie sur Un projet B, mais ne repose pas directement sur la Bande de SDK.
Maintenant, chaque fois que j'essaie de compiler le Projet B, j'obtiens cette erreur:
ld: framework not found Stripe for architecture x86_64
Cette ligne (à l'intérieur d'Un Projet) semble déclencher l'erreur:
#import <Stripe/Stripe.h>
Xcode a aucun mal à trouver Stripe.h
. J'ai essayé d'ajouter la Bande SDK directement pour le Projet B ainsi. J'ai le double et le triple-vérifié les Phases de construction -> Lien Binaire Avec la section des Bibliothèques pour toutes les cibles (Stripe.framework
est inscrit).
J'ai ajouté de la Bande de cadre manuellement, alors j'ai aussi essayé d'ajouter avec Cocoapods à la place, mais qui n'a pas fonctionné.
S'il vous plaît aider!
Voici la structure de projet pour le Projet B ("exemple"), avec Un Projet ("RCTFBLogin") ci-dessous.
Voici le message d'erreur:
Je suis en utilisant Xcode 7.2 et la version la plus récente de la Bande SDK (6.0.0). La même Bande cadre code fonctionne très bien dans un autre projet.
Grâce.
Mise à jour: j'ai ajouté "$(SRCROOT)/../..
" (depuis que le Projet B vit deux dossiers à l'intérieur du Projet A) - Cadre des Chemins de la Recherche" en vertu de Construire des Paramètres -> "les Chemins de Recherche" pour le Projet B de la cible et il a commencé à compiler avec succès. Cependant, maintenant, je reçois cette erreur lors de l'exécution:
ld: warning: Auto-Linking supplied '/Users/rettig/wip/react-native-facebook-login.2/Stripe.framework/Stripe', framework linker option at /Users/rettig/wip/react-native-facebook-login.2/Stripe.framework/Stripe is not a dylib
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Stripe", referenced from:
objc-class-ref in libRCTFBLogin.a(RCTFBLogin.o)
ld: symbol(s) not found for architecture x86_64
source d'informationauteur Lane Rettig
Vous devez vous connecter pour publier un commentaire.
J'ai vu cette même question avec un autre cadre lors de l'exécution de mon test de la cible. J'ai dû ajouter le cadre de mon la cible de test (pas seulement mon normale à la cible) sous
Build Phases > Link Binary With Libraries
section.Carthage a plus d'infos à propos de la question que j'ai vu: https://github.com/carthage/carthage#adding-frameworks-to-unit-tests-or-a-framework
Donc, c'est comment mon podfile ressemble:
Alors j'ai ajouté ceci à podfile:
Ce que j'ai aussi besoin de faire était de:
Donc une raison possible serait que, dans votre podfile vous n'ajoutez pas correctement, assurez-vous simplement que ce cadre est ajouté dans votre cadre.
J'ai eu à faire deux choses pour obtenir ce travail:
Ajouter "$(SRCROOT)/../.." (depuis que le Projet B vit deux dossiers à l'intérieur du Projet A) - Cadre des Chemins de la Recherche" en vertu de Construire des Paramètres -> "les Chemins de Recherche" pour le Projet B de la cible.
Ajouter la Bande de kit de développement pour le Projet B de cadres. Cette deuxième étape en particulier qui m'a surpris, parce que le Projet B ne repose pas directement sur la Bande.
Remarqué ce problème lors de changement de certaines dépendances de gousses de carthage. Semblable à du Miel réponse, j'ai été en mesure de contourner cette erreur en modifiant la podfile.
S'avère tout ce que j'avais à ajouter a été la cible de test. Ensuite, exécutez 'pod installer", et il fera le lien entre votre cible de test de vos cadres généré par vos gousses.