web-dev-qa-db-de.com

Google Analytics libAdIdAccess.a enthält keinen Bitcode

Xcode 7 Beta 3 hat gerade einige "zusätzliche Komponenten" installiert (jetzt Version 7.0 Beta 3 (7A152u)), und jetzt erhalte ich einen Compiler-Fehler:

ld: '/<abbreviated>/Vendor/Analytics/GoogleAnalytics/libAdIdAccess.a(TAGActualAdIdAccess.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Dieser Google Code Beitrag ist die einzige Erwähnung, die ich für GA und Bitcode gefunden habe.

Es wäre schön, wenn ich es nur für diese Bibliothek deaktivieren könnte, anstatt Bitcode vollständig zu deaktivieren. Ist das möglich?

Dies Antwort bietet eine Möglichkeit, Bitcode zu umgehen, der standardmäßig aktiviert ist, und dies kann letztendlich ein Trick dieser allgemeineren Frage sein.

83
bdalziel

Update:

Gute Nachrichten, Leute!

Google Analytics unterstützt jetzt Bitcode ab Version 3.14. Sie können es von den Downloadquellen herunterladen, es ist jedoch noch nicht auf Cocoapods gelistet.

Google Analytics SDK-Download

Änderungsprotokoll

Original:

Google muss sein Analytics-SDK in eine Bitcode-Bibliothek kompilieren. Aufgrund früherer Erfahrungen mit der Aktualisierung der Bibliotheken von Google auf 64-Bit dauerte die Aktualisierung jedoch über ein halbes Jahr.

Mein Rat ist, wenn Sie watchOS nicht unterstützen, können wir es abwarten

  1. Build-Einstellungen

  2. Bitcode aktivieren

  3. Auf Nein setzen

Wenn Sie watchOS unterstützen, verwenden Sie vorerst ein anderes Analyse-Tool.

Zusätzliche Informationen:

Entwickler sprechen hier in einem Google-Forum darüber: https://groups.google.com/forum/#!topic/ga-mobile-app-analytics/d6ML4BKBBeY

Facebook und Fabric.io (Crashlytics, TwitterKit) haben bereits ein Update zur Verwendung von Bitcode durchgeführt. Daher sollte es für Google technisch nicht zu schwierig sein, diesem Beispiel zu folgen. Ich glaube, dass diese Art des Rückschlags Politik ist. Diejenigen, die am meisten zu verlieren haben, sind unsere Benutzer.

76
David Wong

Willkommen zurück in 2013, wie @ david-wong sagte, hat Google ein Jahr gebraucht, um arm64 zu unterstützen. Immer wenn Apple eine Änderung oder Anforderung an der Toolchain ankündigt, benötigt das Google ios SDK-Team Jahre, um seine statische Bibliothek zu aktualisieren. Nur um Ihre Erwartungen festzulegen, haben sie erst kürzlich bestätigt, dass die Bitcode-Unterstützung ein " Problem mit hoher Priorität ", obwohl App - Slicing/Bitcode am 8. Juni 2015 angekündigt wurde. Wenn Sie GA in Ihrem Hauptziel verwenden, GA Verhindern Sie, dass Sie den äußerst wertvollen Vorteil von Architektur-Slicing nutzen.

Das Deaktivieren von Bitcode ist keine Problemumgehung, sondern deaktiviert lediglich die Bitcode-Unterstützung. Hoffentlich sieht dies jemand, der GA) verwaltet, und beschließt, ios zu einem erstklassigen Bürger zu machen.

4
Ryan Romanchuk

Rüsten Sie Ihr GoogleAnalytics-SDK mit pod auf.

  1. Terminal öffnen
  2. Wechseln Sie in Ihr Projektverzeichnis
  3. pod init
  4. Öffnen Sie die in Ihrem Projektverzeichnis erstellte Pod-Datei
  5. Schreiben Sie die folgenden Zeilen

    platform :ios, '10.0'
    
    target “GoogleAnalyticsTestApp” do
       pod 'GoogleAnalytics'
       pod 'GoogleIDFASupport'
    end
    

Dadurch wird der Fehler behoben. Über die folgenden Links können Sie die API von Google hinzufügen:

1 . http://cocoapods.org/pods/GoogleAnalytics

2 . http://developers.google.com/ios/guides/cocoapods

2
mumu

Google hat gerade die SDKs für Google Analytics und Google Tag Manager (Version 3.14) aktualisiert, um Bitcode zu unterstützen. Sie können also die Bibliotheken aktualisieren und Ihre App mit dem Flag "Bitcode aktivieren - Ja" kompilieren.

Download Seite

Direktlink

2
Igor Akimov

Wenn Sie Cocoapods verwenden, können Sie dies am Ende der Poddatei hinzufügen:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ENABLE_BITCODE'] = 'NO'
        end
    end
end

Dies durchläuft alle Pods und markiert den ENABLE_BITCODE als deaktiviert. Natürlich können Sie nicht für die Uhr kompilieren/Apple tv (wie bei einigen Versionen erforderlich).

1
kindaian