2013-12-15 13 views
8

Sto provando a spedire una libreria statica tramite cocoapods. Mi è stata data la libreria senza istruzioni di costruzione in questo momento è un calo nella mia app iOS. Non ho bisogno di costruire la libreria per ogni applicazione che lo utilizza, piuttosto basta scaricare i file lib e includere le intestazioni. C'è un modo per farlo con un file podspec?Creazione di podspec per la libreria statica

Ecco quello che ho finora:

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 

La struttura del codice vero e proprio può essere trovato qui: Git Repo

+0

Questo mi sembra un problema simile a: http://stackoverflow.com/questions/14102703/cocoapod-podspec-and-framework – Wilmar

+0

Il tuo link Git Repo è rotto –

risposta

3

Certo è possibile, ed è facile. Il tuo podspec sembra corretto.

Penso che dovresti creare un * .framework e inserire la libreria e i file di intestazione all'interno, quindi è più facile da gestire. Ecco un esempio podspec di un quadro:

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 

Se non si vuole fare con un file .framework *, ma con * .a e file * .h invece, here's un esempio.

1

penso che è necessario fare così 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