2015-06-10 16 views
17

Attualmente sto lavorando a un'applicazione basata su Swift che utilizza un mix di Objective-C e Cocoapod basati su Swift.
mio Podfile sembra qualcosa di simile:Google Accedi a Cocoapod Installa in Swift?

source 'https://github.com/CocoaPods/Specs.git' 

platform :ios, '8.0' 
use_frameworks! 

pod 'SDWebImage', '~> 3.6' 
pod 'Alamofire', '~> 1.2' 
pod 'Google/SignIn' 

miei baccelli ha funzionato perfettamente fino a quando ho aggiunto Google Signin.
Quando ho fatto pod install, ho ottenuto il seguente errore:

[!] The 'Pods' target has transitive dependencies that include static 
binaries: (~/Pods/GoogleAppUtilities/Libraries/libOpenInChrome.a, 
~/Pods/GoogleAuthUtilities/Libraries/libGTMOAuth2_internal.a, 
~/Pods/GoogleAuthUtilities/Libraries/libGTMOAuth2_external.a, 
~/Pods/GoogleNetworkingUtilities/Libraries/libGTMSessionFetcher_full.a, 
~/Pods/GoogleNetworkingUtilities/Libraries/libGTMSessionFetcher_core.a, 
~/Pods/GoogleSymbolUtilities/Libraries/libGSDK_Overload.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_iPhone.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_core.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_UIFont+LineHeight.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_SystemVersion.a, 
~/GoogleUtilities/Libraries/libGTM_StringEncoding.a, 
~/GoogleUtilities/Libraries/libGTM_RoundedRectPath.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_Regex.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_NSStringXML.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_NSStringHTML.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_NSScannerJSON.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_NSDictionary+URLArguments.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_KVO.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_GTMURLBuilder.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_DebugUtils.a, 
~/Pods/GoogleUtilities/Libraries/libGTM_AddressBook.a, and 
~/Pods/GoogleUtilities/Libraries/libGTMStackTrace.a) 

Inoltre, non appena aggiungo Google Signin, tutti i modulemaps e intestazioni ombrello per gli altri miei cialde scomparire, rompendo tutti loro.

This issue da Cocoapods sembra fare riferimento a questo problema come correlato al mio utilizzo di! Use_frameworks, ma suggerisce solo una soluzione alternativa (--use-libraries) sul lato pubblicazione pod, non dal punto di vista dell'utente. È qualcosa che devo aspettare che Google risolva nel loro podspec, oppure c'è qualcosa che posso fare per far funzionare il pod di accesso?

In caso contrario, Google fornisce ancora un modo per installare manualmente questo SDK senza Cocoapods?

+2

Accesso Google senza cocoapod: http://stackoverflow.com/questions/30783709/google-signin-without-cocoapods – thelaws

+1

Grazie! Ciò funzionerà nel frattempo, ma sarebbe bello farlo funzionare su Cocoapods. – willrichman

+0

@thelaws Qualunque alternativa all'utilizzo di Google Cloud Message? –

risposta

2

ho ottenuto che funziona con l'aggiunta di questo al mio intestazione colmare:

#import <GooglePlus/GooglePlus.h> 
#import <GoogleOpenSource/GoogleOpenSource.h> 

poi rapido avevano accesso a Google segno :)

+0

Assicurati di configurare il progetto per utilizzare l'intestazione del bridging in 'Impostazioni di compilazione> Swift Compiler - Generazione codice> Intestazione Bridging Objective-C' –

0

Ho riscontrato lo stesso errore durante l'esecuzione di 'pod lib lint' su un altro progetto. L'ho risolto includendo le istruzioni --use-libraries e --allow-warnings sulla riga di comando. Forse questo potrebbe aiutarti a risolvere il tuo problema.

pod lib lint --use-libraries --allow-warnings 
+0

Da quello che posso dire, questo è ciò che Google dovrebbe fare da capo quando creano il pod.C'è un modo che non so per aggiungere questo alla mia estremità nel Podfile o durante l'installazione di pod? – willrichman

0

Stavo ricevendo lo stesso errore non molto tempo fa. Ho appena cancellato

use_frameworks! 

dal podfile e ora funziona correttamente.

+0

Purtroppo non posso farlo senza rompere altri pod Objective-C nel mio progetto Swift. Sembra che questa soluzione sia nel tribunale di Google. – willrichman

1

prova sotto pod

pod 'GoogleSignIn', '~> 2.2' 
+0

'[!] Impossibile trovare una specifica per' GoogleSignIn (~> 2.2) '' –

1

Sono abbastanza tardi rispondendo a questa domanda, ma sembrerebbe che il problema pod install sia stato un problema con Cocoapods stesso. Ho aggiornato Cocoapods alla sua versione più recente (ora 0.39.0) e ho potuto installare tutti i pod Google. Sono stato quindi in grado di aggiungere righe alla mia intestazione di bridging come suggerito da niebloomj in this answer e accedere a tutte le librerie in Swift.

Problemi correlati