Sto lavorando allo sviluppo di pod per un team di sviluppo iOS (su repository privato). Il mio pod di base C/Obj-C di basso livello contiene una libreria statica con alcune intestazioni e viene utilizzato come dipendenza in altri pod (inviato con --use-libraries
).Pod privato con libreria statica insieme a swift pod
Ora che il team iOS vuole integrare i pod Swift, è stato necessario aggiungere l'opzione use_framework!
nel Pod dei propri progetti. Naturalmente, hanno ottenuto il seguente errore durante pod install
:
L'obiettivo 'XXX' ha dipendenze transitive che includono statici binari
ho trascorso una mezza giornata sul web alla ricerca di un modo per fare i miei pod compatibili con l'opzione use_framework!
, invano. Questo è molto frustrante, poiché i pod dei servizi di Google sono la dimostrazione che è possibile aggirare questo problema in modo pulito (non con il trucco verify_no_static_framework_transitive_dependencies
): il pod principale e quasi tutte le sue dipendenze contengono librerie statiche e tutto funziona perfettamente insieme ai pod Swift . Esemplare con Google/SignIn che dipende da Google/Core (vendored_libraries: Libraries/libGGLCore.a) e GoogleSignIn (vendored_libraries: Libraries/libSignIn.a).
Qualche idea su cosa posso fare per rendere i miei pod compatibili con l'opzione ?
Grazie a tutti,
Cheers,
Tom
Hey Tom, Anche io sto combattendo con questo ... E sinceramente non ho la minima idea in questo momento. Quello che mi stavo chiedendo: sei sicuro che Google ha fatto il trucco? Presumo che GoogleSignIn sia una libreria statica scritta in Objective-C. Quindi mi correggono se mi sbaglio, non devono usare "use_framework!" a tutti ... – niggeulimann
Sì, ma presumo che GoogleSignIn sia statico ... – niggeulimann
Google/SignIn pod dipende da Google/Core pod e GoogleSignIn pod che contengono entrambe solo librerie statiche (eseguibili .a) e intestazioni. Fondamentalmente come i miei pod. Se crei un podfile con il pod Google/SignIn, un pod rapido (ad esempio Alamofire) e l'opzione 'use_framework!', L'installazione _pod funziona perfettamente. Se faccio lo stesso con il mio pod invece di Google/SignIn, ho l'errore "Transitive dependencies" ... Non riesco a capire cosa hanno fatto:/ – LeT0C