2013-12-15 13 views
8

Próbuję wysłać statyczną bibliotekę za pośrednictwem cocoapods. Dostałem bibliotekę bez instrukcji budowy, teraz jest to kropla w mojej aplikacji na iOS. Nie potrzebuję budować biblioteki dla każdej aplikacji używającej jej, raczej po prostu pobrać pliki lib i dołączyć nagłówki. Czy istnieje sposób, aby to zrobić z plikiem podspec?Utwórz podspec do wysyłki biblioteki statycznej

Oto co mam do tej pory:

Pod::Spec.new do |s| 
    s.name   = "RTMPLib Library" 
    s.version  = "1.0.0" 
    s.summary  = "RTMPLib Library" 
    s.homepage  = "https://github.com/jumper/RTMPLib.git" 
    s.license  = { :type => 'MIT', :file => 'LICENSE' } 
    s.author  = { "jon morehouse" => "[email protected]" } 
    s.source  = { :git => "https://github.com/jumper/RTMPLib.git", :tag => "#{s.version}" } 
    s.platform  = :ios, '7.0' 

    # arc components 
    s.requires_arc = false 
    s.preserve_paths = 'inc/rtmplib/*.h' 
    s.vendored_libraries = 'lib/rtmplib.a' 
    s.libraries = 'rtmplib' 
    s.xcconfig = { 'HEADER_SEARCH_PATHS' => '${PODS_ROOT}/#{s.name}/inc/rtmplib/**'} 
    s.preserve_paths = 'L.framework' 
end 

Rzeczywista struktura kodu można znaleźć tutaj: Git Repo

+0

Wydaje się podobny problem do: http://stackoverflow.com/questions/14102703/cocoapod-podspec-and-framework – Wilmar

+0

Twój link do Git Repo jest uszkodzony –

Odpowiedz

3

Oczywiście jest to możliwe, a to łatwe. Twój podspec wygląda poprawnie.

Myślę, że powinieneś stworzyć plik * .framework i umieścić w nim swoją bibliotekę i pliki nagłówkowe, aby łatwiej było zarządzać. Oto przykład podspec dla ram:

Pod::Spec.new do |s| 
    s.name    = "LibName" 
    s.version   = "0.2.0" 
    s.summary   = "MySummary" 

    s.homepage   = "http://myWebpPage.com/" 

    s.license   = 'MIT' 
    s.author   = { "Author" => "http://author.com/" } 
    s.source   = { :git => "https://github.com/<GITHUB_USERNAME>/Project.git", :tag => s.version.to_s } 

    s.platform  = :ios, '7.0' 
    s.requires_arc = true 
    s.ios.vendored_frameworks = 'StaticLibraryFolder/StaticLibrary.framework' 
    s.frameworks = 'CoreData' , 'SystemConfiguration', 'CoreLocation' 
    s.weak_framework = 'UIKit' 

end 

Jeśli nie chcesz to zrobić z .framework pliku *, ale * .a i pliki * .h Zamiast here's przykładem.

1

myślę, że trzeba zrobić jak ten demo

Pod::Spec.new do |s| 
s.name   = "RTMPLib Library" 
s.version  = "1.0.0" 
s.summary  = "RTMPLib Library" 
s.homepage  = "https://github.com/jumper/RTMPLib.git" 
s.license  = { :type => 'MIT', :file => 'LICENSE' } 
s.author  = { "jon morehouse" => "[email protected]" } 
s.source  = { :git => "https://github.com/jumper/RTMPLib.git", :tag => "#{s.version}" } 
s.platform  = :ios, '7.0' 

# arc components 
s.requires_arc = false 
# you static library`s .h file 
s.source_files = 'lib/*.h' 
s.vendored_libraries = 'lib/rtmplib.a' 

end 
Powiązane problemy