Ich habe gerade Code überarbeitet und eine statische Bibliothek erstellt, die ich jetzt in einem Framework verwende, das in einigen Apps verwendet wird. Ich benutze Cocoapoden und habe Probleme, meine neue statische Bibliothek richtig in die podspec zu integrieren.Cocoapods podspec issue
Ich stelle fest, dass Builds fehlschlagen, da die statische Bibliothek im Build fehlt. Wenn ich die statische Bibliothek der endgültigen App manuell hinzufüge, funktionieren das Framework und die App einwandfrei. Ein Build-Team erstellt die endgültigen Versionen der Apps, und aus diesem Grund war ich nur dafür verantwortlich, podspec nur für das Framework zu aktualisieren.
Kann ich die Pod-Spezifikation ändern, um die statische Bibliothek als verknüpfte Bibliothek festzulegen, die in den Build-Phasen der endgültigen App angezeigt wird?
UPDATE:
Wenn zum framework.library Attribut meiner Unter spec die statische lib Hinzufügen Ich erhalte library not found for -lMyStaticLib
subspec REFERENZ:
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 Das Attribut wurde in msl.vendored_libraries = 'MyStaticLib'
geändert. Außerdem wurden Pfade in podspec validiert. Alles scheint zu "scheinen". Ich bekomme immer noch Buildfehler. Wenn ich für ein Gerät gebaut (I gleichen Fehler, aber für i386, wenn ich bauen für Simulator):
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)
ich auch wieder bestätigt, dass, wenn ich gehen Sie einfach auf die Build-Phasen App und durchqueren die Pods Ordner und manuell Fügen Sie die MyStaticLibrary.a-Datei zu dem Projekt hinzu, das ohne Problem erstellt wird.
Immer noch keine Lösung dafür? Ich stoße auf ein ähnliches Problem und würde Ihre Weisheit schätzen, falls Sie es geschafft haben, es zu beheben. – brainray