2015-06-29 16 views
15

Próbuję dodać Google Analytics do mojej aplikacji iSO i używam najnowszego zestawu SDK Google Analytics https://developers.google.com/analytics/devguides/collection/ios/v3/.

Dodano do projektu pomyślnie wszystkie wymagane nagłówki i frameworki. Ale podczas jazdy moją aplikację jestem coraz niżej błędów

  1. (null): "_OBJC_CLASS _ $ _ GGLContext", odwołuje się od: objc klasy-ref w AppDelegate.o

  2. (null): polecenia Linker nie powiodło się z kodem wyjścia 1 (zastosowanie -v aby zobaczyć inwokację)

Poniżej znajduje się kod, który Jestem writtig w AppDelegate.m złożyć

// Configure tracker from GoogleService-Info.plist. 
NSError *configureError; 
[[GGLContext sharedInstance] configureWithError:&configureError]; 
NSAssert(!configureError, @"Error configuring Google services: %@", configureError); 

// Optional: configure GAI options. 
GAI *gai = [GAI sharedInstance]; 
gai.trackUncaughtExceptions = YES; // report uncaught exceptions 
gai.logger.logLevel = kGAILogLevelVerbose; // remove before app release 

Obejmuje również (_OBJC_CLASS _ $ _ GIDSignInButton i _OBJC_CLASS _ $ _ GIDSignIn) Proszę powiedzieć, czego mi brakuje. Z góry dziękuję.

+2

Czy znalazłeś jakieś rozwiązanie? Mam ten sam problem. – nfarshchi

+0

Jeszcze nie. Próbowałem poniżej odpowiedzi, ale nic nie działa dla mnie. – Arti

+1

Rozwiązano ten problem. Zobacz moją odpowiedź. Dodałem także libGGLCore.a do Link Binary z bibliotekami – Arti

Odpowiedz

40

"Cel OPN [Debug] zastępuje ustawienie kompilacji OTHER_LDFLAGS". To był główny problem. Po dodaniu $ (dziedziczone) w nowej linii w innych flagach linkerów rozwiązałem mój problem.

+3

Próbowałem 20 różnych rzeczy, gdy natknąłem się na to. Chciałbym głosować dwa razy, gdybym mógł. – kennydust

+0

@Arti .. niesamowite ... Chciałbym zmienić to pytanie, ponieważ GGLContext był niższy w priorytetach, nie udało się go rozwiązać, ale może jeśli zmodyfikowałeś treść oryginalnego pytania _OBJC_CLASS _ $ _ GIDSignInButton i _OBJC_CLASS _ $ _ GIDSignIn ... prawdopodobnie więcej w przypadku innych usług, ułatwiłoby to innym ofiarom przeszukiwanie sieci w celu łatwiejszego wyszukiwania pytań i odpowiedzi.(Spędziłem pół godziny bezskutecznie szukając aż zmienię na GGLContext) Jeszcze raz dziękuję za twoje rozwiązanie :) –

+1

Dobra odpowiedź, ale prosimy o wyraźną odpowiedź –

1

Spróbuj dodać libGGLCore.a i libGGLAnalytics.a do Binary Połącz z bibliotekami

7

jeśli używasz kapsułę instalacji bibliotek jak link sugeruje, pamiętaj, aby sprawdzić, czy istnieją jakieś błędy podczas uruchamiania kapsułę zainstalować . Możliwe, że zmieniono OTHER_CFLAGS lub OTHER_LDFLAGS w ustawieniach kompilacji, co może spowodować problem. Jeśli tak jest, prawdopodobnie chcesz dodać "$ (dziedziczone)" w nowym wierszu do obu tych flag.

0

Niewielki błąd i pakiet Google SDK nie działa. Jestem nowy w CocoaPods i nie wiedziałem, że musisz dodać go do swojej analityki. W ten sposób:

# Uncomment this line to define a global platform for your project 
platform :ios, '8.0' 
# Uncomment this line if you're using Swift 
# use_frameworks! 

target 'NAME_OF_THE_TARGET' do 
    pod 'Google/Analytics' 
end 
0

To zdarzyło się, gdy ustawiłem cel rozwoju. Cel produkcji działał dobrze, ale rozwój nadal powodował pojawianie się tych błędów. Mój problem był w pliku pod. Na początku:

target 'NAME-OF-TARGET' do 
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks 
use_frameworks! 

# Pods for MAIN-TARGET 
pod 'GoogleSignIn' 
pod 'Firebase/Core' 
pod 'Firebase/Database' 

target 'DEV TARGET' do 
    inherit! :search_paths   <---------- 
    # Pods for dev-target 
    pod 'GoogleSignIn' 
    pod 'Firebase/Core' 
    pod 'Firebase/Database' 
end 

Linia, którą wskazałem strzałką, była problemem. Zmieniłem go z inherit! :search_paths na use_frameworks! i błędy zostały wykonane.

Powiązane problemy