Google Analytics libAdIdAccess.a enthält keinen Bitcode

83

Xcode 7 Beta 3 hat gerade einige "zusätzliche Komponenten" installiert (jetzt Version 7.0 Beta 3 (7A152u)), und jetzt wird ein Compilerfehler angezeigt:

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 den Bitcode vollständig zu deaktivieren. Ist das möglich?

Diese Antwort bietet eine Möglichkeit, um zu umgehen, dass Bitcode standardmäßig aktiviert ist, und dies kann letztendlich ein Betrug dieser allgemeineren Frage sein.

bdalziel
quelle
3
Ich vermute, Google wird seine öffentlichen Quellen und Cocoapods aktualisieren, wenn Xcode 7 endgültig ist.
Michael Dautermann
2
Das ist fair - in der Zwischenzeit deaktiviere ich standardmäßig den Bitcode, wie ich in meiner Frage angegeben habe
bdalziel
3
Mit dem Xcode 7.0 GM-Seed schlägt es immer noch fehl, aber ich habe noch kein GA-Update gesehen.
DiscDev
Aus Erfahrung könnte GA einige Wochen dauern ...
Vinzius
1
@ MichaelDautermann XCode7 und iOS9 sind hier und es gibt nichts Neues von Google
Kubba

Antworten:

76

Aktualisieren:

Gute Neuigkeiten alle zusammen!

Google Analytics unterstützt jetzt Bitcode mit der Version 3.14. Sie können es von ihren Download-Quellen herunterladen, es ist jedoch noch nicht auf Cocoapods aufgeführt.

Google Analytics SDK herunterladen

Ä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 es jedoch über ein halbes Jahr.

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

  1. Build-Einstellungen

  2. Bitcode aktivieren

  3. Auf Nein setzen

Wenn Sie watchOS unterstützen, verwenden Sie vorerst ein anderes Analysetool.

Zusatzinformation:

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) wurden bereits aktualisiert, um Bitcode zu verwenden. Daher sollte es für Google technisch nicht allzu schwierig sein, diesem Beispiel zu folgen. Ich glaube, diese Art von Zurückhaltung ist Politik. Diejenigen, die am meisten zu verlieren haben, sind unsere Benutzer.

David Wong
quelle
5
Warum sie das tun, entweder iOS nicht unterstützen oder Ihre Tools für eine neue Version aktualisieren. Wir haben die Beta schon lange und sie wird in
ungefähr
Ja, frustrierend, nicht wahr? Ich habe die gleichen Fragen gestellt, als es den 64-Bit-Übergang gab.
David Wong
Vielen Dank für die zusätzlichen Informationen, insbesondere @DavidWong, und die Wiederholung der allgemeinen Antwort: stackoverflow.com/a/30856364/822164
bdalziel
2
Verwenden einer Reihe von SDKs von Drittanbietern für iOS. Google ist der einzige, der seine noch nicht aktualisiert hat. Ich lasse das Google SDK fallen und werde es wahrscheinlich nicht erneut hinzufügen. Zu viel Aufwand.
Ville Laurikari
3
Es sollte beachtet werden, dass Google/AnalyticsBitcode auch mit 3.14 nicht funktioniert, wenn Sie einen Pod der obersten Ebene verwenden . Sie müssen GoogleAnalyticsstattdessen den Pod verwenden.
Cristik
4

Willkommen zurück im Jahr 2013, wie @ david-wong erwähnte, dauerte es ein Jahr, bis Google arm64 unterstützte. 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. Um Ihre Erwartungen zu erfüllen, haben sie erst kürzlich anerkannt, dass die Unterstützung von Bitcode ein Problem mit "hoher Priorität" ist, obwohl am 8. Juni 2015 App Slicing / Bitcode angekündigt wurde. Wenn Sie GA in Ihrem Hauptziel verwenden, wird GA Sie daran hindern von der Nutzung des äußerst wertvollen Vorteils des Architektur-Slicing.

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

Ryan Romanchuk
quelle
2

Google hat gerade die SDKs von 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.

Seite herunterladen

Direkte Verbindung

Igor Akimov
quelle
1
Es sollte beachtet werden, dass Google/AnalyticsBitcode auch mit 3.14 nicht funktioniert, wenn Sie einen Pod der obersten Ebene verwenden . Sie müssen GoogleAnalyticsstattdessen den Pod verwenden.
Cristik
2

Aktualisieren Sie Ihr GoogleAnalytics SDK mit Pod.

  1. Terminal öffnen
  2. Gehen Sie zu Ihrem 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 Google-API hinzufügen:

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

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

Rubaiyat Jahan Mumu
quelle
[ cocoapods.org/pods/GoogleAnalytics] [ developer.google.com/ios/guides/cocoapods] Über diesen Link können Sie alle Google APIs für iOS hinzufügen
Rubaiyat Jahan Mumu
1

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 wird alle Pods durchlaufen und den ENABLE_BITCODE deaktivieren. Natürlich können Sie nicht für die Uhr / Apple TV kompilieren (da dies bei einigen Versionen erforderlich ist).

irgendwie
quelle