Undefined Symbole für Architektur armv6, ein Update auf iOS 4.3
Ich bin patchen upp eine Anwendung aus dem iOS-4.2-4.3 mit neuen xcode4.
Mit keine änderungen gemacht, außer die Einstellung iOS 4.3, ich habe Ansprüche und gehen!
Nachricht die ich bekomme, ist:
Undefined symbols for architecture armv6:"function", referenced from:
Ive versucht, Reinigen Sie das Projekt, Neuinstallation von xcode.
Ich deinstalliert, auch die xcode4 demo-version.
Ich habe auch versucht, auf armv7 Optimiert.
Ich würde sehr glücklich sein, für einige Hilfe, ich bin stecken. Wirklich.
Vielen Dank im Voraus!
- Wo war
function
verwiesen wird? Nicht alles, was komisch Aussehen in der referenzierten Datei? - Versuchen Sie, den i386 unter Gültig-Architektur unter Ziele und Projekt-Build-Einstellungen
- Bitte auch den vollständigen text des Fehlers.
- Sind Sie verlinken in irgendwelche Bibliotheken? Hat die Bibliothek mit dem symbol "Funktion" wurde zusammengestellt für die armv6-Architektur?
- Ist das eine universal Anwendung? Sie dieser Fehler kann auftreten, wenn einige der Klassen, die gibt es nur im iPad (wie UISplitviewcontroller). Wenn das der Fall ist, können Sie lösen, indem Sie schwache Verknüpfung UIKit-framework in Ihr Projekt
- Sie können auch diese Art der Kompilierung Fehler, wenn Sie vergessen haben, ein Framework wie Foundation/Foundation.h oder CoreFoundation/CoreFoundation.h
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für diese Art von Fehler, das ist, was ich in der Regel sehen:
Fast jedes mal, wenn ich sehe, dieser Fehler verursacht wird Sie durch versteckte/unsichtbare Zeichen in der import-Anweisung in
SomeOtherController.h
oderSomeOtherController.m
. So, Blick auf sowohl Ihre .h und .m-Datei, suchen Sie die Zeile, die wie folgt aussieht:Löschen Sie diese Zeile und geben Sie ihn erneut ein (nicht copy/paste-Sie werden nur repaste, die problematische versteckten Charakter).
Hier ist, wie ich diese problem:
Habe ich ein
.h
,.m
und Feder aus einem anderen Projekt, indem Sie Sie auf meinen Projekt-navigator. Xcode nicht fügen Sie Sie, um die Build-Phasen richtig.Meine Lösung für dieses problem:
.m
Datei auf "Compile Sources" (entweder ziehen Sie es auf, oder verwenden Sie die + - Taste).xib
oder Storyboard-Datei zu "Copy bundle resources"Klicken Sie auf Ihren Projektnamen in der Navigations-Fenster, wählen Sie das Ziel-Sie erstellen gegen, gehen Sie zu bauen, Phasen, stellen Sie sicher, die Xcode erzählen Sie, was noch fehlt, ist drin.
Ich hatte das gleiche problem in Xcode5 für iOS7 mit der TestFlight-SDK. Mein Problem war, dass die "Bau-Aktiv-Architektur Nur' gesetzt wurde, um Debug nur.
Finden Sie die Einstellung unter 'YourProject'-> "Build-Einstellungen" ->'Architekturen' stellen Sie die 'Release' - option auf 'ja'.
Dies ist mein problem gelöst - ich hoffe es hilft Euch auch! 🙂
Ich hatte dieses problem und gerade habe ich es gelöst.
Es war ein einfacher Tippfehler in den Namen der Funktion (vergessen einen Buchstaben), die das problem in meinem Fall.
Ich hatte das gleiche problem in Xcode5 für iOS7 mit der TestFlight-SDK. Mein Problem war, dass die "Bau-Aktiv-Architektur Nur' gesetzt wurde, um Debug nur.
Finden Sie die Einstellung unter "YourProject'-> "Build-Einstellungen" ->'Architekturen' das 'Debug' - option 'Architektur arm7 arms7s'.
Dies ist mein problem gelöst - ich hoffe es hilft Euch auch! 🙂
Ich hatte ein ähnliches Problem, knallen-up-ganz plötzlich - genauer gesagt, war ich immer
Undefined symbols for architecture armv6: "_OBJC_CLASS_$_CLLocationManager", referenced from: objc-class-ref in MyCLController.o
Beachten Sie, dass ich hatte CoreLocation.Rahmen in meinem frameworks (in xcode " - Projekt der linken Navigationsbereich, unter den Frameworks-Ordner); und vorher die geolocation funktioniert ganz gut.
Ich entledigte sich des Problems, indem Sie die neu-Installation von CoreLocation.Rahmen.
Wenn Sie nicht sicher sind, wie man das in xcode:
* klicken Sie auf Ihr Projekt in xcode Links nav bar
* Gehen Sie in der Registerkarte "allgemein" der Einstellungen Ihres Projektes
* Navigieren Sie nach unten - Sie werden sehen, die Liste der frameworks installiert unter
Linked Frameworks and Libraries
* Klicken Sie auf die
+
- Symbol, um die CoreLocation.RahmenIn meinem Fall, ich habe das in einem viewcontroller.m
Ohne Link-Binary Mit Bibliotheken mit MediaPlayer.Rahmen. Nach dem hinzufügen, es kompiliert fein