2013-09-11 2 views
32

Wir haben gerade aktualisiert, um XCode 5 GM, und ein Projekt (iPhone nur für iOS 7 Ziel), die unter DP 5 gut gebaut gibt jetzt den Fehler:XCode 5 GM Linker Fehler: zu viele kompakte abwickeln Infos in Funktion anon für Architektur i386

ld: in /Users/dan/Documents/Projects/ImageProApp/Pods/SparkInspector/SparkInspector.framework/SparkInspector(ExplorerViewState.o), too many compact unwind infos in function anon for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Wir CocoaPods verwenden mehrere Komponenten enthalten, CocoaAsyncSocket, CocoaLumberack Spark Inspector und Erreichbarkeits. Meine Vermutung ist, dass, wenn wir den Spark Inspector entfernen sollten, dieser Fehler einfach auf eine andere Komponente verweisen würde.

Kann jemand eine Reparatur empfehlen? Sagen Sie mir, was die Compiler/Linker-Flags sind, um nicht kompakte Abwicklungsinformationen zu verwenden?

Danke,

Dan

+0

Dies könnte ein Cocoapods Problem sein. Es könnte gut sein, ein Problem auf Github zu öffnen. https://github.com/CocoaPods/CocoaPods/issues?state=open – ray

+0

@ray Es gibt tatsächlich ein Problem mit den aktuellen Cocoapoden, wenn Sie archivieren. https://github.com/CocoaPods/CocoaPods/pull/1352 – mattyohe

+1

@mattyohe Hmm, ich war in der Lage, meine App gut zu archivieren, nachdem das Build Active Architectures for Debug Profil aktualisiert wurde. Die Verknüpfung schlägt jedoch immer noch fehl, wenn man den Simulator anvisiert, also bin ich geneigt zu glauben, dass dieses spezielle Problem mit dem gerade eingeführten 64-Bit-Zeug zusammenhängt und der Simulator nicht dafür ausgerüstet ist ... irgendwie. – ray

Antwort

7

Umgehung: Build for Gerät.

Nicht so viel von einer Lösung, aber versuchen Sie, Ihre App für ein Gerät anstatt Simulator zu bauen. Könnte mit der Einführung von 64-Bit verwandt sein.

Ich kann meine App archivieren, aber wenn ich versuche, für Simulator zu erstellen/zu laufen, schlägt es beim Verknüpfen mit demselben Fehler fehl, den Sie erhalten.

Um klar zu sein, verwende ich auch Cocoapods.

33

UPDATE: Google ein Update für die Google Analytics-Bibliothek veröffentlicht https://code.google.com/p/analytics-issues/issues/detail?id=338

Siehe Version v3.01 hier: https://developers.google.com/analytics/devguides/collection/ios/resources

FWIW, mit der Google Analytics-Bibliothek, die Verbindungsfehler geschieht nur, wenn Deployment Ziel ist auf 7.0 festgelegt. Wenn Sie das Implementierungsziel auf 6.1 setzen, funktioniert die Verknüpfung beispielsweise ohne Fehler.

Als Referenz, in Bezug auf Google Ananlytics, habe ich ein Problem in Google's bug tracker.

+0

Wunderbar! Es funktioniert, aber ich hätte gerne eine Erklärung * warum *, da ich sowieso iOS7 in der SIM gebaut habe. – ray

+0

Bestätigt v3.01 funktioniert jetzt mit Deployment Target 7.0. – TalkLittle

+0

Ja, das bestätige ich auch. Es ist keine Problemumgehung, dies ist der beste Weg, um die Nachricht loszuwerden. – Martin

7

"iOS Deployment Ziel auf etwas weniger als "iOS 7.0"

innen

"Projekt" zu ändern -> Einstellungen Erstellen -> Deployment

für mich gearbeitet, ich denke, es hat etwas zu tun mit der Konfiguration zum Erstellen der externen Lib. Ich war mit dem Problem nur mit dem Simulator konfrontiert, wenn im Lieferumfang Jot Touch SDK

+0

Das gleiche Problem hier mit Jot Touch SDK. Erstellt für das Gerät, aber nicht für den iOS 7-Simulator. – seeker12

1

diese Antwort könnte ein wenig spät kommen, aber ich hatte das gleiche Problem mit einem Framework von Dritten. Aus irgendeinem Grund haben wir das -all_load-Flag zu den Build-Einstellungen hinzugefügt, aber als ich es entfernt habe, konnten wir das Projekt erstellen. So

gehen zu:

Projekt -> Build-Einstellungen -> Andere Linker-Flags

und entfernen Sie die -all_load Flagge.

Hoffe, das hilft.