it-swarm.com.de

Google Analytics-Bibliothek IOS

Wenn ich Google Analytics Library hinzufüge, habe ich diese Warnung

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_NSAttributeDescription", referenced from:
      objc-class-ref in libGoogleAnalytics.a(GAICoreDataUtil.o)
      objc-class-ref in libGoogleAnalytics_debug.a(GAICoreDataUtil.o)
  "_OBJC_CLASS_$_NSFetchRequest", referenced from:
      objc-class-ref in libGoogleAnalytics.a(GAIDataStore.o)
      objc-class-ref in libGoogleAnalytics_debug.a(GAIDataStore.o)
  "_NSSQLiteErrorDomain", referenced from:
      l003 in libGoogleAnalytics.a(GAIDataStore.o)

Bitte hilf mir

18
user1781040

Fügen Sie libGoogleAnalytics.a zu Ihrer Zieleinstellung [Build phases]-[Link Binary with Libraries] hinzu. Prüfen Sie auch, ob libsqlite3.0dylib (wobei GA Tracking-Daten speichert) und CFNetwork.framework dort hinzugefügt werden, da sie für Google Analytics/iOS (version 2.0 beta 3) erforderlich sind.

P.S. Für Google ist stattdessen Analytics/iOS version 3.0CoreData framework erforderlich.

41
jki

Ich hatte das gleiche Problem mit NSAttributeDescription. In der Dokumentation stammt diese Funktion von CoreData.framework, daher habe ich dieses Framework hinzugefügt und keine Fehler mehr zu diesem Problem.

13
plop91

Problem im Zusammenhang mit Google Analytics SDK für die Migration von iOS v2.

Ich bin mir nicht sicher, in welches Thema ich schreiben soll, da es kein genaues Problem gibt - ich bin darauf gestoßen und habe es von mir selbst gelöst - gefunden (dieses scheint das nächste zu sein (nicht sicher, ob ich ein neues eröffnen sollte) Eins)), kann aber für jemanden hilfreich sein.

Problem:

Ich habe mein vorheriges (1.5.1) SDK in "SDKs/GoogleAnalytics SDK" separaten Ordner installiert. Bei der v2-Migration habe ich die neuen Dateien in "SDKs/GoogleAnalytics SDK v2" abgelegt. Nachdem ich alle Anweisungen zur Migration (von der Google-Website) befolgt hatte (und im Detail nur die vorherigen Verweise auf die Dateien aus dem ersten Ordner entfernt und die neuen aus dem neuen hinzugefügt haben), wurde die folgende Fehlermeldung angezeigt Nachricht zur Kompilierung:

Undefinierte Symbole für die Architektur armv7: "_OBJC_CLASS _ $ _ GAI", Referenziert von: Objc-class-ref in AppDelegate.o ld: Symbol (e) für Architektur nicht gefunden armv7 clang: Fehler: Linker-Befehl mit Exit-Code 1 fehlgeschlagen (verwenden Sie -v, um den Aufruf zu sehen)

Ich ging durch die ersten Seiten des googelns (und stackoverflowing) und die am meisten empfohlene Lösung war, "nur aktive Architektur erstellen" -Eigenschaft auf 'YES' "(mein aktiver Benutzer) zu setzen Architekturen sind "Armv7 Armv7s"). Aber das DID NICHT HILFE überhaupt.

Lösung:

Es ist jedoch ein Wunder passiert. Ich habe festgestellt, dass ein altes Verzeichnis "SDKs/GoogleAnalytics SDK" in Linkerpfaden aufgeführt ist. Also, nach dem Entfernen des Verzeichnisses (da ich nicht weiß, wo die Liste der Verzeichnisse in den Einstellungen vorhanden ist) begann alles wie ein Zauber zu kompilieren und zu arbeiten (auch "Nur aktive Architektur erstellen") auf "JA" 'war für mich nicht notwendig).

9
Agat

Fügen Sie -lGoogleAnalyticsServices in den Build-Einstellungen hinzu -> Andere Linker-Flags

7
Naka

Ich hatte ähnliche Fehler wie oben, eigentlich mehr (SDK 2.0 Beta 4). Nachdem Sie die Analytics-Bibliothek/Header hinzugefügt haben, wurden die Probleme mit diesen beiden Frameworks gelöst:

CoreData.framework und SystemConfiguration.framework

6
stevel

Ich folgte diesem Tutorial. Es heißt hinzufügen

#import "GAI.h"
#import "GAIFields.h"

in die NameofTheProject-Prefix.pch-Datei.

Und zusätzlich zu CoreData.framework und SystemConfiguration.framework add libz.dylib Wurden alle Probleme gelöst.

4
imba_man

Ich hatte dieses Problem, weil ich die Datei libGoogleAnalytics_debug.a nicht hinzugefügt habe. Das Problem wurde gerade behoben, als ich diese Datei hinzufügte und das Projekt erneut erstellte. 

3
Jamal Zafar

Ich folgte allen Vorschlägen und erhielt immer noch einen Fehler in XCODE 5.1.1.

Für mich lag der Fehler in target> Build Setting> Architecture> Architectures. 

Ich habe den Wert durch ARCHS_STANDARD_32_BIT ersetzt und der Fehler war weg. 

Möglicherweise wurde die libGoogleAnalytics lib nicht für die 64-BIT-Architektur kompiliert. 

Hoffe das hilft jemandem. Oder holen Sie sich die neueste lib, die für 64 Bit kompiliert wurde.

0
mask

Ich hatte ein ODD ein seltsames Problem. Aus irgendeinem Grund befand sich libGoogleAnalytics.a in Copy Bundle Resources, als angeblich in Link Binary With Libraries war.

Hoffentlich hilft das jemandem.

0
Jacksonkr

Hatte ein ähnliches Problem nach der Migration auf SDK 2.0 Beta 4. Dieses Problem wurde behoben, indem der alte GA-Bibliothekspfad aus Meine Build-Einstellungen> Bibliothekssuchpfade entfernt wurde, wie von Adri angegeben.

0
mnazwan

Bei Verwendung von Cocoapods sicherstellen, dass andere Linker-Flags nur $(inherited)-Flag haben und alle untergeordneten architecture -flags entfernen.

Für Framework-Suchpfade und Library-Suchpfade setzen auch nur das Flag $(inherited).

Fügen Sie in der Header-Überbrückungsdatei den #import <Google/Analytics.h> ein.

0
Prcela