J'essaie d'ajouter un cadre à mon projet IOS mais lorsque je construis, j'ai toujours le même message:
ld: cadre non trouvé
clang: erreur: la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)
J'ai essayé de supprimer mon répertoire Pods
puis d'exécuter pod install
J'ouvre le .xcworkspace
comme il est écrit dans les journaux de l'installation du pod, je nettoie le projet sous xcode, puis j'essaie de le construire, mais cela ne fonctionnera pas.
Mon podfile ressemble à ceci:
xcodeproj '/Users/guillaume/project/Mobile/iOS/FoodPin/FoodPin.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'SwiftHTTP', '~> 0.9.2'
Ma version de xcode est 6.3.1
Je vous remercie,
Dans Project Navigator
dans le dossier Pods
j'avais un Pods.framework
qui était en rouge. Il était également présent dans Linked Frameworks and Libraries
. J'ai enlevé les deux références et l'erreur a disparu.
TL; DR
Supprimer Pods.framework
dans:
Pods
Linked Frameworks and Libraries
Cela est généralement dû au fait que le fichier .xcodeproj est ouvert au lieu de .xcworkspace.
Lorsque vous exécutez 'pod install' pour la première fois, il crée un fichier .xcworkspace, qui comprend votre fichier .xcodeproj d'origine et un projet Pods. Vous devrez fermer votre fichier .xcodeproj et ouvrir l’espace .xcworkspace.
Il s'agit d'un problème courant lors de la création d'un projet via le nouvel assistant de projet de Xcode. J'oublie souvent que je ne suis pas dans un espace de travail, indispensable pour que les Cocoapod soient correctement liés.
Xcode 9 ou 10
installer https://github.com/CocoaPods/cocoapods-deintegrate
pod deintegrate
puis
pod install
J'ai effacé cette erreur en supprimant les fichiers .framework
rouges situés dans un dossier Frameworks
du project navigator
. Je pense que cela a également automatiquement supprimé les entrées rouges correspondantes dans la section Linked Frameworks and Libraries
des paramètres General
.
J'ai nettoyé/réinstallé des modules afin de résoudre un autre problème. Peut-être que ces fichiers et entrées de structure rouges ont été simplement laissés par une installation précédente du pod?
Pour qui trouve ce problème. J'utilise NativeScript et j'ai la même erreur.
Cela se produit car j'ai ouvert le fichier .xcodeproj, mais nous devons ouvrir le projet avec le fichier .xcworkspace.
Cela m'est arrivé après la mise à jour de mon fichier podfile et une mise à jour du pod.
Pour une raison quelconque, un fichier-cadre "Pods_ [ProjectName]". Apparaît sous mon projet sous "Cibles"> Général> Cadres et bibliothèques liés.
La suppression de cette information, puis le nettoyage/la reconstruction corrigeaient le problème.
Je recevais cette erreur parce que je renommais mon projet et que je changeais également le nom du projet dans le fichier pod, mais que mon projet faisait référence à un ancien nom qui n'était pas là et causait cette erreur. Je m'en débarrasse par
pod deintegrate
suivi par
pod install
J'ai eu un problème similaire à
framework not found Pods_OneSignalNotificationServiceExtension
Il a été résolu en supprimant ce qui suit. Accédez à target OneSignalNotificationServiceExtension> Phases de construction> Lier le binaire aux bibliothèques et supprimer Pods_OneSignalNotificationServiceExtension.framework J'espère que cela t'aides. À votre santé.
Retirez simplement votre .framework de la liste "Votre projet-> Général-> Structure et bibliothèques liées".
Dans mon cas, je peux le construire sur des appareils et sur un simulateur, mais j'ai les mêmes erreurs lors de l'archivage. Pour le résoudre, je dois
Pods.framework
Pods-<project-name>.framework
est intégréVous trouverez les paramètres dans CIBLES -> Cadres et bibliothèques liés.
Vous êtes plus que probable que vous essayez de faire travailler les gousses dans votre projet, n'est-ce pas? Le seul moyen de le faire est de créer un projet séparé qui utilise CocoaPods.
Fermez tous les espaces de travail que vous utilisez.
Ensuite, assurez-vous que votre fichier Podfile est complètement prêt.
Dans la ligne de commande, où que se trouve votre fichier, tapez la commande suivante:
pod deintegrate
Ensuite, installez votre pod agian.
pod install or pod update
Vous pouvez maintenant utiliser le nouvel espace de travail de votre projet pour développer. Recherchez un fichier appelé .workspace. Utilisez ce fichier!
Voici un guide sur l'utilisation de CocoaPods
Étape 1
La première chose à faire est de supprimer le fichier Podfile, Podfile.lock, le dossier Pods et l’espace de travail généré.
Étape 2
Ensuite, dans .xcodeproj, supprimez les références aux fichiers Pods.xcconfig et au fichier libPods.a.
Étape 3
Dans l'onglet de projet Phases de construction, supprimez la section Vérifier les pods de contrôle (ouverte), la section de ressources de copie de pods (en bas) et les ressources de pods d'intégration (en bas).
Étape 4
Supprimer Pods.framework.
La seule chose que vous voudrez peut-être faire est d'inclure certaines des bibliothèques que vous utilisiez auparavant. Vous pouvez le faire en glissant simplement dans votre projet les dossiers qui se trouvent dans les dossiers des modules (je préfère les placer dans mon dossier Fichiers de support).
Cela a fonctionné pour moi.
Avec Xcode 8.3, la réponse acceptée ne fonctionnait pas pour moi. J'avais essayé beaucoup d'autres solutions, mais @ Elliott Davies répond que c'est ce qui a été résolu pour moi. J'ajoute une capture d'écran pour plus de clarté. Pour une raison quelconque, Xcode essayait de lier des configurations de fichiers pods précédentes qui n'existaient plus. Tout ce que je devais faire était de supprimer les références supplémentaires et tout fonctionnait bien .
Ce problème me rendait folle car cela est arrivé soudainement sans apporter de modifications au projet. J'ai essayé toutes les solutions suggérées dans ce fil (et d'autres connexes) et aucune d'entre elles n'a résolu le problème.
La seule chose qui diffère de mes autres projets (qui compile bien), c'est que le nom de ce projet contenait un accent (un accent français, "é"). J'ai renommé le projet et tous les fichiers associés, et cela a finalement fonctionné!
Peut-être est-ce lié à la mise à jour vers Xcode 10, car ce projet fonctionnait bien avant ...
EDIT: cela semble également échouer lors de l'utilisation d'un projet avec -
dans le nom du projet…
J'ai résolu ce problème en sélectionnant le projet téléchargé à partir de CocoaPods
et en le construisant. Vous pouvez cliquer sur Gérer les modèles pour qu'il apparaisse dans la barre d'exécution. Ensuite, vous pouvez reconstruire votre projet. J'espère que ça vous aidera.
C'est la façon dont je résous mon problème. et ça marche maintenant quand j'écris cette réponse:
Tout d'abord, j'essaie tous les moyens les plus corrects ci-dessus,
supprimer Pods_xxx.framework des bibliothèques de liens et du framework dans les phases de construction de la cible est utile, et le problème disparaîtra, mais le problème à venir est que je ne peux plus importer le fichier Pods.framework.
Et puis, j'essaie de réinitialiser la configuration de xcworkspace, afin de pouvoir comprendre le vrai problème. donc je cours
pod deintergate
puis réinstallez mon pod:
pod install
ce travail est parfait, mais le problème est toujours là, mais je pense que le vrai problème est que Pods_xxx.framworks ne soit pas compilé avec succès par le script de construction cocoapods. Je pense que c'est la vraie façon de résoudre le problème.
Enfin, j'essaie de modifier le schéma de mon projet:
et j’ajoute un système de pods à gérer:
et construisez ce Pods.framework séparément, et vous verrez que l’icône Pods.framework redevient véritablement:
et je pense que maintenant vous avez résolu votre problème de "framework non trouvé Pods_xxxx.framework" mais en fait j'ai un autre problème à venir:
donc je vais au paramètre de construction, et édite le "Framework Search Path"
avec "${inherited}"
, et maintenant tous les problèmes disparaissent, bravo !!!! :)
Supprimer le dossier des cadres créé après l'installation ou la mise à jour du pod
Dû courir
pod deintegrate
Après cela, j'ai dû supprimer le fichier .xcworkspace et exécuter l'installation de pod.
J'ai résolu ce problème en faisant glisser le fichier .framework
dans le Cadre lié et bibliothèques
Disons que je rencontrais ce problème à cause de l'erreur FIRAnalyticsConnector not found
et que je glissais simplement le fichier FIRAnalyticsConnector.framwork
dans Structure et bibliothèques liées et que mon problème était résolu
Dans mon cas, après avoir comparé la différence entre une branche que je savais construite correctement, j'ai remarqué cette ligne dans mon Podfile:
platform :ios, '11.0'
J'avais par inadvertance augmenté ma version cible de 10 à 11 alors que mes cibles dans Xcode restaient définies à 10. Le retour à 10 a résolu le problème.
Assurez-vous que vos versions iOS cibles sont correctement définies.
Une autre chose qui a résolu mon problème est d'aller sous Cible -> Paramètres de construction -> Autre linker Drapeaux et supprimer le "cadre" et votre cadre "nom".
C'est arrivé quand j'ai essayé de retirer un pod.
Après avoir retiré et mis à jour le pod, j'avais toujours le même problème.
J'ai trouvé que le développeur précédent avait mis l'indicateur dans ' Paramètres de construction -> Autres drapeaux de l'éditeur de liens ' avec le nom de structure (dans mon cas -framework 'OGVKit') à l'origine du problème.
Après avoir supprimé cet indicateur, le projet est construit correctement.
J'ai essayé chaque réponse ici et aucune d'entre elles n'a fonctionné. J'ai fini par le faire fonctionner en faisant passer la cible de déploiement de 10,0 à 11,0. Je ne sais pas pourquoi cela a résolu le problème, mais je suppose que cela a à voir avec la mise à niveau vers Xcode 10.2.1.
Si vous avez ouvert le fichier .xcworkspace et que vous avez toujours la même erreur:
delete all the contents of Pods directory and from command line write "pod install" to resolve the issue.
Veuillez vérifier votre fichier exécutable dans .Framework comme (
Le nom du fichier exécutable devrait ressembler à cela sans aucune extension.
Utilisation du terminal goto .framework utiliser la commande ci-dessous lipo -create FrameworkName-x86_64 FrameworkName-armv7 FrameworkName-armv7s FrameworkName-i386 FrameworkName-arm64 -output FrameworkName
après avoir créé un seul fichier exécutable, supprimez ces fichiers
J'ai rencontré ce problème car je n'avais pas défini la variable platform
correctement.
Ainsi, dans mon application macOS, la plate-forme était configurée pour:
platform :ios
au lieu de
platform :osx