Soudain, Xcode m'a lancé cette erreur au moment de la compilation:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Format", referenced from:
objc-class-ref in WOExerciseListViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Après quelques recherches, je peux comprendre que la bibliothèque que j'utilise n'est pas compatible avec la version 64 bits. Mais c’est très étrange puisque je travaille avec les mêmes bibliothèques depuis au moins une semaine sans avoir un seul problème de compilation pendant cette période. Les deux bibliothèques ne sont composées que de plusieurs classes et lorsque je les ai supprimées de mon projet, le même problème s'est posé. Comme je n'ai jamais créé de bibliothèques, je ne sais pas comment trouver celles que j'utilise sont compatibles avec le format 64 bits (?) J'ai également essayé les modifications suivantes pour les architectures du panneau cible:
Mais aucun de ces changements ne fonctionne. S'il vous plaît, quelqu'un a-t-il un indice à ce sujet? Merci
Apparemment, votre classe "Format" est impliquée dans le problème. Vérifiez votre déclaration de cette classe, surtout si vous l'avez faite dans une autre classe, vous avez probablement oublié la @implémentation ou quelque chose de similaire.
Vérifiez si ce fichier est inclus dans Build Phases -> Sources compilées
Assurez-vous que WOExerciseListViewController est un membre cible. cela a fonctionné pour moi!
Je viens d'avoir cette erreur lorsque j'ai ouvert un projet (assez) ancien, créé dans Xcode 4 ~ ish, dans Xcode 6.4. Alors que les cadres liés étaient visibles dans la barre latérale du projet, j'avais oublié qu'il n'y avait que pas de bibliothèques liées dans l'onglet Phase de construction cible. Une fois que j'ai résolu le problème, tout était bien compilé.
Oui, je pense que la bibliothèque que vous utilisez n'est pas compatible avec la version 64 bits, mais vous pouvez résoudre le problème -
Il vous suffit de naviguer vers Paramètres de construction> Architectures et de remplacer $(ARCHS_STANDARD)
par $(ARCHS_STANDARD_32_BIT)
.
Pour que votre xcode construise votre projet avec une version prise en charge 32 bits.
Je ne liais simplement pas les bibliothèques dans la section "Lier le binaire aux bibliothèques".
J'ai résolu le même problème en allant dans Paramètres de construction Xcode et dans Architectures, j'ai modifié L'architecture standard Xcode 6.1.1 en: -
$ (ARCHS_STANDARD_32_BIT)
En fait, j'ai oublié d'écrire ma partie @implementation
.
Je viens d'avoir exactement la même erreur et je l'ai résolu en redémarrant xcode.
Pour moi, le problème est survenu après une mise à jour de svn, le fichier en question a été ajouté au dossier des projets, mais il n'est jamais apparu dans xcode (9.3.1) - jusqu'à ce que je le redémarre.
J'ai résolu le problème en supprimant la référence au fichier et en l'ajoutant à nouveau dans le projet. Dans mon cas ça marche.
Même erreur lorsque j'ai copié/collé une classe et que j'ai oublié de la renommer en fichier .m.