2016-04-07 15 views
5

Uso Cocoapods per installare l'ultimo GPG e ho utilizzato l'ultimo XCode 7.3 e iOS SDK 9.3 ma non sono riuscito a creare la build del mio progetto e ho bloccato con questi 5 errore del linker che non ho potuto risolvere:Errore di linker GTMSessionFetcherService durante il tentativo di creare il mio progetto xcode

"_OBJC_CLASS_$_GSDK_GTMSessionFetcherService", referenced from: 
     objc-class-ref in gpg(GIPNetworkImage.o) 
    objc-class-ref in libSignIn_external.a(GIDSignIn.o) 

    "_GSDK_kGTMSessionFetcherStatusDomain", referenced from: 
     -[GSDK_GTMOAuth2SignIn authCodeObtained] in libGTMOAuth2_external_external.a(GTMOAuth2SignIn.o) 
    "_GSDK_GTMSessionFetcherAssertValidSelector", referenced from: 
     -[GSDK_GTMOAuth2Authentication authorizeRequest:delegate:didFinishSelector:] in libGTMOAuth2_external_external.a(GTMOAuth2Authentication.o) 
     -[GSDK_GTMOAuth2SignIn initWithAuthentication:authorizationURL:delegate:webRequestSelector:finishedSelector:] in libGTMOAuth2_external_external.a(GTMOAuth2SignIn.o) 
    "_OBJC_CLASS_$_GSDK_GTMSessionFetcher", referenced from: 
     objc-class-ref in libGTMOAuth2_internal_external.a(GTMOAuth2SignInInternal.o) 
     objc-class-ref in libGTMOAuth2_external_external.a(GTMOAuth2Authentication.o) 
     objc-class-ref in libGTMOAuth2_external_external.a(GTMOAuth2SignIn.o) 
     objc-class-ref in gpg(GPGClearcutLogger.o) 
     objc-class-ref in libSignIn_external.a(GIDSignIn.o) 
     objc-class-ref in libSignIn_external.a(GIDRuntimeConfigFetcher.o) 
ld: symbol(s) not found for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

ho anche cercato di aggiungere fonte GTMSessionFetcherService nel mio progetto, ma non riesco a risolvere questo problema. Qualche idea?

Grazie

+0

Ho avuto lo stesso problema ... cosa aggiustato per me aggiungendo GoogleSignIn.framework e GoogleSignIn.bundle – Stanley

risposta

2

Tutto quello che dovete fare è aggiungonoGoogleOpenSource.framework dalle Google+ iOS SDK a librerie

poi

aggiungere GoogleOpenSource al robovm.xml

Infine assicurati che sia presente il robopode GoogleSignIn

+0

Ho aggiunto googleOpenSource.framework ma non sono sicuro di come aggiungere robovm.xml poiché quel file non esiste nel mio progetto. Ancora di fronte allo stesso problema di linker .. che è strano visto che ho setacciato internet negli ultimi giorni e sembra che nessuno abbia lo stesso problema di me –

+0

@Yanuar Tanzil hai risolto questo problema? – Petr

+0

sì, l'ho fatto .. Ho usato i cocoapod per ottenere l'ultima cosa che google ha creato –

7

Ho riscontrato un problema di compilazione molto simile durante il tentativo di integrare Google Sign-In. Il non-Cocoapods instructions menzione aggiungendo GoogleSignIn.framework al progetto, ma non vi dico che è necessario collegare il resto dei quadri nel segno-in SDK così:

GoogleAppUtilities.framework 
GoogleAuthUtilities.framework 
GoogleNetworkingUtilities.framework 
GoogleSignIn.framework 
GoogleSymbolUtilities.framework 
GoogleUtilities.framework 
+0

Non solo che ti chiedevano specificatamente di aggiungere solo framework SignIn, bundle e nient'altro: | – Ahmed

0

Aggiungi libsqlite3.dylib, libz.tbd e AddressBook.framework in "Strutture e librerie collegate". Questo ha risolto il mio problema. Ho anche copiato questi framework.

GoogleAppUtilities.framework 
GoogleAuthUtilities.framework 
GoogleNetworkingUtilities.framework 
GoogleSignIn.framework 
GoogleSymbolUtilities.framework 
GoogleUtilities.framework 
0

Ho avuto lo stesso problema per Xamarin.iOS. Per risolvere, ho semplicemente aggiornato il mio pacchetto Xamarin.Google.iOS.SignIn alla versione più recente (4.0.1.1) e aggiornato Xamarin.Build.Download a latests (0.4.2).

L'aggiornamento di questi due pacchetti ha causato l'aggiunta di ulteriori pacchetti al mio progetto. Credo che siano questi pacchetti aggiuntivi a correggere gli errori del linker nativo che stavo ottenendo (gli stessi errori esatti di Yanuar Tanil).