Je ne peux plus compiler mon projet pour l'appareil ou le simulateur. Je reçois 13 erreurs Apple Mach-O-Linker. Tout a commencé après une tentative infructueuse d'utilisation de sharekit. Voici le journal de l'erreur:
ld: warning: directory not found for option '-F/Users/bbrandy95/Documents/Broken Brandsonic Web Projects/Brandsonic Web mobile/../../Downloads/0.2.1gm1/iphoneos4.0/System/Library/Frameworks'
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_NSURLRequest", referenced from:
objc-class-ref in Brandsonic_Web_mobileAppDelegate.o
objc-class-ref in Brandsonic_Web_mobileViewController.o
"_OBJC_CLASS_$_NSAutoreleasePool", referenced from:
objc-class-ref in main.o
"_objc_msgSendSuper2", referenced from:
-[Brandsonic_Web_mobileAppDelegate dealloc] in Brandsonic_Web_mobileAppDelegate.o
-[Brandsonic_Web_mobileViewController didReceiveMemoryWarning] in Brandsonic_Web_mobileViewController.o
-[Brandsonic_Web_mobileViewController dealloc] in Brandsonic_Web_mobileViewController.o
"_objc_setProperty", referenced from:
-[Brandsonic_Web_mobileAppDelegate setWindow:] in Brandsonic_Web_mobileAppDelegate.o
-[Brandsonic_Web_mobileAppDelegate setViewController:] in Brandsonic_Web_mobileAppDelegate.o
"__objc_empty_vtable", referenced from:
_OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
_OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
_OBJC_CLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
_OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
_OBJC_METACLASS_$_SecondView in SecondView.o
_OBJC_CLASS_$_SecondView in SecondView.o
"_objc_msgSend", referenced from:
_main in main.o
-[Brandsonic_Web_mobileAppDelegate application:didFinishLaunchingWithOptions:] in Brandsonic_Web_mobileAppDelegate.o
-[Brandsonic_Web_mobileAppDelegate dealloc] in Brandsonic_Web_mobileAppDelegate.o
-[Brandsonic_Web_mobileAppDelegate GOOGLE] in Brandsonic_Web_mobileAppDelegate.o
-[Brandsonic_Web_mobileAppDelegate YOUTUBE] in Brandsonic_Web_mobileAppDelegate.o
-[Brandsonic_Web_mobileAppDelegate WIKI] in Brandsonic_Web_mobileAppDelegate.o
-[Brandsonic_Web_mobileViewController webView:shouldStartLoadWithRequest:navigationType:] in Brandsonic_Web_mobileViewController.o
...
"__objc_empty_cache", referenced from:
_OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
_OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
_OBJC_CLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
_OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
_OBJC_METACLASS_$_SecondView in SecondView.o
_OBJC_CLASS_$_SecondView in SecondView.o
"_OBJC_CLASS_$_NSObject", referenced from:
_OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
"___CFConstantStringClassReference", referenced from:
CFString in Brandsonic_Web_mobileAppDelegate.o
CFString in Brandsonic_Web_mobileAppDelegate.o
CFString in Brandsonic_Web_mobileAppDelegate.o
CFString in Brandsonic_Web_mobileViewController.o
CFString in Brandsonic_Web_mobileViewController.o
CFString in Brandsonic_Web_mobileViewController.o
CFString in Brandsonic_Web_mobileViewController.o
...
"_OBJC_CLASS_$_NSKeyedUnarchiver", referenced from:
objc-class-ref in Brandsonic_Web_mobileViewController.o
"_OBJC_CLASS_$_NSUserDefaults", referenced from:
objc-class-ref in Brandsonic_Web_mobileViewController.o
"_OBJC_CLASS_$_NSURL", referenced from:
objc-class-ref in Brandsonic_Web_mobileAppDelegate.o
objc-class-ref in Brandsonic_Web_mobileViewController.o
"_OBJC_METACLASS_$_NSObject", referenced from:
_OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
_OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
_OBJC_METACLASS_$_SecondView in SecondView.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
'
Comment puis-je réparer ça? S'il vous plaît aider.
Pour tous ceux avec une erreur similaire .. Si cela se produit, vous pouvez normalement supprimer le "Chemin" sous
cible-> Paramètres de construction-> Chemins de recherche de bibliothèque
Cette erreur peut se produire lorsqu'un framework est ajouté à un projet plusieurs fois.
Cela peut également être causé s'il vous manque des fichiers d'en-tête de structure ou une référence à ceux-ci.
Bonne chance.
Si vous avez installé des dépendances à l'aide de CocoaPods, veillez à ouvrir votre projet XCode en cliquant sur votre fichier .xcworkspace
et sur le fichier not .xcodeproj
.
Il semble que le fichier de projet ait été corrompu d'une manière ou d'une autre.
Le moyen le plus sûr de résoudre ce problème est de créer un nouveau projet et de déplacer vos fichiers et votre ancien fichier info.plist dessus.
Le prochain moyen le plus susceptible de résoudre ce problème est de créer une nouvelle cible dans votre projet actuel et de voir si cela compilera (si vous avez des indicateurs spéciaux de l'ancienne cible, vous voudrez les copier).
Vous pouvez aussi essayer de compiler Version/Construction et si l’une d’elles fonctionne, examinez toutes les options du compilateur et voyez ce qui est différent.
Si vous avez ajouté un chemin de recherche d'en-tête pour Sharekit, essayez peut-être de nettoyer tout le chemin de recherche d'en-tête et de voir si cela résout le problème. Assurez-vous également que votre projet inclut toujours les frameworks inclus dans un tout nouveau projet (UIKit et NSFoundation, éventuellement d'autres).
Ajoutez le fichier .m pour compiler la page source.
pas:-
Espérons que cela aide quelqu'un avec ce problème
Moi aussi j'ai eu le même problème avec 45 erreurs identiques, mais lorsque j'ai ajouté libxml2.dylib à mon projet, les erreurs ont disparu.
J'avais ce problème, maintenant que je choisissais une version iOS plus récente car la cible de déploiement corrigeait cela pour moi. Mon projet était configuré pour se déployer sur iOS 5 par défaut et le fait de passer de 7 (le plus récent) a fait l'affaire.
Pour les débutants en développement iOS, vous pouvez le faire en cliquant sur votre fichier de projet XCode dans le navigateur> informations de déploiement> cible de déploiement et en sélectionnant la version appropriée dans le menu déroulant.
Je suis sceptique sur le fait que cela résoudra certains des problèmes rencontrés par d'autres, mais il se peut qu'il y ait quelques personnes dans le même bateau que moi.
Les problèmes sont les espaces sur votre chemin:
xcode utilise le commutateur suivant pour l'éditeur de liens:
-F/Users/bbrandy95/Documents/Broken Brandsonic Web Projects/Brandsonic Web mobile/../../Downloads/0.2.1gm1/iphoneos4.0/System/Library/Frameworks
et comme il n'est pas cité, cela ne fonctionnera pas. (Il cherche le dossier "/Users/bbrandy95/Documents/Broken"
Vous devez renommer les répertoires ou parcourir les paramètres du projet et ajouter des guillemets aux répertoires. (Mais cela pourrait être difficile à trouver)
Dans certains cas, le chemin de recherche de votre bibliothèque est vide.Parce qu'il existe de nombreuses erreurs du lieur Apple-mac-o.
Voir ma réponse aussi à.
Erreur Apple Mach-O Linker lors de l'utilisation de classes de données de base dans OCUnit
C'est parce que le projet a inséré le fichier xcdatamodeld des données de base dans des sources de compilation. Sélectionnez votre projet -> Phase de construction -> Compiler les sources et supprimez le fichier nomProjet.xcdatamodeld . Et vérifiez également si vous avez importé un fichier .m
au lieu du fichier .h
. Vérifiez tous les codes d'importation . Et vérifiez si vous avez ajouté le travail de trame de données de base dans la bibliothèque et le fichier .h
de données de base importé. Vérifiez la création de NSManagedObject
et importez son fichier .Essayez-le et répondez-moi s'il y a encore une erreur.
J'ai fait face à ce problème avec mon cocoapod développé par moi-même.
L'erreur était: Apple Mach-O Linker errror
Il s'est avéré que j'avais défini un protocole et mis en œuvre une extension de protocole. Une méthode d'extension de protocole était publique, mais pas le protocole en tant que tel. Et cela a provoqué l'erreur Apple Mach-O Linker.
Exemple:
protocole MyProtocol {champ var: String {get}}
extension MyProtocol { public func giveMeSomething () -> String}
classe publique MyClass: MyProtocol {}
Dans la description, l'erreur mentionnée MyClass référencée depuis MyProtocol -> MyProtocol référencée depuis giveMeSomething () ...
La solution a donc été de faire Myprotocol aussi public
J'espère que ça aide quelqu'un.
J'ai eu le même problème,
Je viens simplement de définir l'option de construction -> Enable Bitcode
à NO