是否可以创建一个需要外部第三方库(以libXY.a发布)的pod,而不在pod本身中包含它的副本?问题是,出于版权原因,我无法自己包含库文件。基本上任何使用pod的人都必须以某种方式在他们的项目中包含他们自己的库副本。
这样的事情可能吗?
PS。 pod将是这个库的包装器。
答案 0 :(得分:1)
你可以创建一个开发Pod,但除非podspec
可以被linted(pod spec lint
),否则不允许进入pod repo。你当然可以用一个空的libXY.a实现解决这个问题。
如果你想沿着开发舱路线走下去,你可以把libXY.a放在文件夹A的某处,为它创建一个pod规范,比如说pod的名字是Internal
。
在您的项目Podfile
中,您将参考本地规范:
pod 'Internal', :path => '<path to folder A>'
运行pod install
时,它会看到这是一个本地广告连播并将其置于&#34;开发窗格&#34;文件夹(不是那个非常重要!)
您想要将lib*.a
个文件添加为vendored_libraries
。
答案 1 :(得分: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
,也许我应该使用它?)