Sono stato in fase di refactoring del codice e ho creato una libreria statica che sto utilizzando in un framework che viene utilizzato in alcune app. Sto usando cocoapod e sto avendo problemi ad integrare correttamente la mia nuova libreria statica nel podspec.Cocoapods podspec issue
Sto trovando che i build non funzionano perché la libreria statica manca nella compilazione. Se aggiungo manualmente la libreria statica all'app finale, il framework e l'app funzionano correttamente. Un team di build genera le versioni finali delle app e, a causa di ciò, sono stato solo responsabile dell'aggiornamento di podspec solo per il framework.
È possibile modificare la specifica del pod per impostare la libreria statica come una libreria collegata che viene visualizzata nelle fasi di creazione dell'app finale?
UPDATE:
Quando si aggiunge il lib statica all'attributo framework.library del mio sub spec mi sto library not found for -lMyStaticLib
SUBSPEC PER RIFERIMENTO:
s.subspec 'MyStaticLibrary' do |msl|
mss.source_files = 'FrameworkSource/My-Static-Library/*.{h,a}'
msl.library = 'MyStaticLib'
msl.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(SRCROOT)/Pods/My-Framework-Name/FrameworkSource/My-Static-Library"/**', 'LIBRARY_SEARCH_PATHS' => '"$(SRCROOT)/Pods/My-Framework-Name/FrameworkSource/My-Static-Library"/**' }
#msl.frameworks = 'MyStaticLib'
end
UPDATE 2: I modificato l'attributo su msl.vendored_libraries = 'MyStaticLib'
Percorsi validati anche in podspec. Tutto 'sembra' da verificare. Sto ancora ricevendo errori di compilazione. Quando ho costruito per un dispositivo (ottengo lo stesso errore ma per i386 quando costruire per simulatore):
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MyStaticLibrary", referenced from:
objc-class-ref in MyFramework(FileInFramework.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 verificato ancora una volta che, se mi basta andare a fasi di creazione della app e attraversare i cartelle baccelli e manualmente aggiungi il file MyStaticLibrary.a al progetto che genera senza problemi.
Ancora nessuna correzione? Mi sto imbattendo in un problema simile e apprezzerei la tua saggezza nel caso in cui tu riuscissi a risolverlo. – brainray