2014-03-12 27 views
1

是否可以創建一個需要外部第三方庫(以libXY.a的形式提供)的窗格而不在其自身中包含副本?問題是,出於版權原因,我不能自己包含庫文件。基本上任何使用pod的人都必須以某種方式在其項目中包含自己的該庫副本。創建依賴於外部庫的窗口

是這樣的可能嗎?

PS。該吊艙將成爲這個圖書館的包裝。

回答

1

如果libXY.a的副本託管在某處,例如在zip文件中,您可以將其拷貝。

Pod::Spec.new do |s| 
    // …other spec settings… 
    s.source = { :http => "http://downloads.xy.com/XY-version.zip" } 
    s.source_files= 'XY-version/*.h' 
    s.preserve_paths = 'XY-version/libXY.a' 
    s.xcconfig = { 'LIBRARY_SEARCH_PATHS' => '"$(PODS_ROOT)/XYPodName/XY-version"' } 
    s.libraries = 'XY' 
end 

(建議表示歡迎,我不知道vendored_libraries,也許我應該使用?)

+0

,因爲他說他不能包括的lib這不會工作,雖然,它必須在其他地方得到...? – Rich

+0

就像我說的,「如果......」 –

1

您可以創建一個開發Pod,但除非podspec可以被分割(pod spec lint),否則將不允許進入Pod回購。你當然可以用一個空的libXY.a實現來解決這個問題。

如果你想要開發pod的路線,你可以把libXY.a放在文件夾A的某個地方,爲它創建一個pod規範,比如說pod的名字是Internal。 在您Podfile爲你的項目,你會再引用這個地方規範:

pod 'Internal', :path => '<path to folder A>' 

當運行pod install它認爲這是一個當地的吊艙,並在「發展莢」文件夾,它的地方(不,這是非常重要的! )

您想添加任何lib*.a文件作爲vendored_libraries