Xcode 7 'CrashReporter nicht enthalten bitcode' linker-Fehler
Ich bin direkt verlinken PLCrashReporter in meiner iOS-app ohne Verwendung von externen Tools und wenn ich jetzt versuche zu kompilieren, es auf Xcode 7 link bekomme ich Fehler:
ld:
'.../CrashReporter.Rahmen/CrashReporter(libCrashReporter-iphoneos.a-armv7-master.o)'
nicht enthalten bitcode. Müssen Sie es neu erstellen mit bitcode aktiviert
(Xcode-Einstellung ENABLE_BITCODE), erhalten Sie eine aktualisierte Bibliothek aus dem
Hersteller oder deaktivieren bitcode für dieses Ziel. für Architektur armv7
Wo bekomme ich den aktualisierten Rahmen, oder die Quellen zu kompilieren Sie Sie mit bitcode aktiviert und loszuwerden, die Fehler ohne deaktivieren der bitcode für das komplette Projekt?
- Haben Sie versucht, das deaktivieren der bitcode für das Projekt?
- Ich lieber nicht, da Sie eine neue Anlage zur Verbesserung der Erfahrung für die Nutzer, dennoch fand ich die Quellen und kompilieren Sie Sie.
- Die meisten Bibliotheken werden nicht aktualisiert, mit bitcode, die aus Xcode 7. so für jetzt, um diese zu entfernen waring wir müssen deaktivieren Sie diese Einstellung. Finden Lösung bilden hier stackoverflow.com/a/32710815/3647325
- Es mag so sein, aber wie aktualisiere ich die PLCrashReporter Rahmen für die Verwendung von bit-code ohne es zu deaktivieren überall, oder sich eine bereits kompilierte framework so konfiguriert? Wie gesagt, versuchen, den Quellcode kompilieren auf XCode 7 ist ein Alptraum.
- Niemand will zu deaktivieren, verwenden bitcode, Jeder will etwas besser machen, aber bis PLCrashReporter nicht aktualisieren Sie Ihre Rahmen, um kompatibel mit bitcode, die Sie haben, um es zu deaktivieren.
- Das ist das, was ich in der Tat, aber vermisse ich jetzt schon die Möglichkeit der überprüfung der Abstürze der app, dies natürlich bis so ein Dienst direkt von Apple angeboten.
- Für die überprüfung Abstürze der app mit dem genauen Linie verantwortlich für den Absturz, können Sie auch Crash-Reports-tool von Apple angeboten ab Xcode 6 und das ist wirklich toll.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Landete ich, die Lösung dieses durch den Bau PLCrashReporter 1.2.1 von der Quelle. Diese version ist das minimum, das hat mit Xcode 7 und iOS9 Korrekturen zusammengeführt.
Ist die Quelle, die von hier aus: PLCrashReporter 1.2.1
Entpacken Sie die heruntergeladene 1.2.1 Quelle in einen Ordner stellen.
Ziehen Sie das Xcode-Projekt in diesem Ordner werden innerhalb von Xcode und fügen Sie den folgenden, um die Benutzerdefinierte Compiler-Einstellungen "Other C Flags" - Bereich der Projekt-build-Einstellungen:
-fembed-bitcode
Als Nächstes fügen Sie den folgenden, um die Benutzerdefinierte Compiler-Einstellungen "Other Warning Flags" - Bereich der Projekt-build-Einstellungen:
-Wno-error=unused-command-line-argument
Schließen Sie dann das Projekt aus der Xcode-GUI. Die benutzerdefinierten Einstellungen sind notwendig, weil wir im Begriff sind zu bauen von der Kommandozeile mittels xcodebuild zu vermeiden, die PLCR deprecation Fehler, und wenn dies die Standardeinstellung ist " nur -fembed-bitcode-Markierung beim Aufbau eines Rahmens auf diese Weise. Wir überschreiben das Standardverhalten ist, und müssen zu unterdrücken und den harten Anschlag Warnung diese Ursachen.
Schließlich in einem terminal-Fenster Eingabeaufforderung in den Ordner, wo die zip-Datei von der Quelle einschließlich der xcode-Projekt-Datei befindet, führen Sie die folgenden:
xcodebuild -configuration Release -target 'Disk Image'
Dadurch wird der build und lassen Sie den Rahmen, in
./build/Release/PLCrashReporter-1.2.1/iOS Framework
Nun, diese Schritte erzeugen einen bitcode aktiviert framework, aber Dritter crash-reporting ist nicht kompatibel mit bitcode (wenn der App-Store neu kompiliert haben Sie keine Möglichkeit, um die Symboldatei aus, dass on-the-fly bauen).
Gibt es 2 Optionen.
1. Download PLCrashReporter Quellen und kompilieren Sie es whit bitcode aktiviert, und verwenden Sie diese in Ihrem Projekt.
2. Deaktivieren bitcode für Ihre Zielgruppe
Gehen Sie zu Ihrem Ziel zu Bauen Registerkarte Einstellungen, Suche für
Enable Bitcode
legen Wert auf NEIN.Dieser arbeitete für mich, um Überrollbügel Rahmen in meinem Projekt:
In meinem Arbeitsbereich habe ich zuerst wähle mein Projekt aus dem Projekt-Navigator -> mein Projekt, das Ziel -> Build-Einstellungen -> Aktivieren Bitcode = KEINE
Dann wähle ich die HÜLSEN aus dem Projekt-Navigator -> Überrollbügel Ziel -> Aktivieren Bitcode = KEINE
Erfahrenen gleiche Problem. Ich baute den crash-reporter-framework von der Quelle mit
https://www.plcrashreporter.org/code
Dann Suche in ~/Library/Developer/Xcode/DerivedData/CrashReporter-xxxxxxx zu bekommen .framework-bundle
Leider das Problem stellte sich wieder ein. Auch, wenn ich versuche zu kompilieren, die ich wieder bekommen:
Außerdem, wenn ich das enable-bit-code auf der Projektebene ich erhalte eine sofortige Fehlermeldung:
target 'CrashReporter-MacOSX-Static' hat bitcode aktiviert (ENABLE_BITCODE = YES), aber es wird nicht unterstützt für 'macosx' Plattform
Was soll ich tun, um das zu produzieren Rahmen mit bitcode aktiviert?