创建依赖外部库的pod

时间:2014-03-12 21:58:09

标签: objective-c xcode cocoapods

是否可以创建一个需要外部第三方库(以libXY.a发布)的pod,而不在pod本身中包含它的副本?问题是,出于版权原因,我无法自己包含库文件。基本上任何使用pod的人都必须以某种方式在他们的项目中包含他们自己的库副本。

这样的事情可能吗?

PS。 pod将是这个库的包装器。

2 个答案:

答案 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,也许我应该使用它?)