【问题标题】:Cocoa podspec and path for dependencyCocoa podspec 和依赖路径
【发布时间】:2015-12-11 11:15:36
【问题描述】:

如何在 podspec 中为依赖项指定本地路径?

like : s.dependency 'MyLibrary', :path => '../MyLibrary'

谢谢

【问题讨论】:

标签: xcode cocoapods podspec


【解决方案1】:

您应该在 Podfile 中使用 :path 关键字:

pod 'AFNetworking', :path => '~/Documents/AFNetworking/AFNetworking.podspec'

提示:如果您不知道路径,可以将文件拖放到Podfile 中,它会显示出来。

编辑

我没有正确理解 OP 的要求,这是正确的答案:

  1. 把本地依赖放到你的pod文件夹根目录下,
  2. 在您的 Podspec 文件中,只需添加 s.ios.dependency 'YourPodName/YourPodDependencyFolder'

之后,像这样创建一个子空间:

s.subspec 'YourPodName' do |ss|
ss.source_files = 'YourPodName/**/*.{h,m}'
end

【讨论】:

  • 我用的是第二种方式,但是source_files的路径前加了“../”
  • 在这种情况下删除 ../ 。如果你没看错,必须把依赖的源文件放在pod的根目录下
  • s.ios.dependency 'YourPodName/YourPodDependencyFolder' 是什么意思?你能详细说明一下吗?
  • :本地依赖很久以前从podspec中删除了,你需要发布cocoapod才能在另一个podspec中提到它。
  • YourPodDependencyFolder 是什么意思?
【解决方案2】:

我不能将其他库放在我库的根目录中,因为它们与其他项目共享,所以它们在父级内部,但不幸的是没有使用 pod,我正在尝试为所有人使用这些 pod,并且我已经为所有库配置了 podspec。

我正在尝试执行如下所示的操作,但似乎不起作用:

Pod::Spec.new do |s|
    s.name                  = 'MyLibrary'
    s.platform              = 'ios'
    s.ios.deployment_target = '7.1'
    s.source_files          = 'Classes/**/.{h,m}'
    s.resource              = 'Classes/resources/*.*'
    s.requires_arc          = true
    s.dependency 'AFNetworking'
    s.dependency 'SharedLib'

    s.subspec 'SharedLib' do |ss|
        ss.source_files         = '../SharedLib/Classes/**/*.{h,m}'
        s.resource              = '../SharedLib/Classes/resources/*.*'
        ss.ios.framework        = 'AVFoundation'
    end
end

谢谢大家。

【讨论】:

  • @Danilo... 你如何在 pod 规范的源代码中设置本地路径。我尝试使用下面的方法,它在我的项目中安装了正确的文件但是当我尝试更新文件时pod 规范,它没有在示例项目中更新!! s.source = { :path => ".", :tag => s.version.to_s }
  • @Saty 我不再使用该系统,我使用将库保存在 svn addr http://your-ip/lib-name/trunk/1.0.0 并在 podfile 中添加规范,例如this: pod 'lib-name', :svn => "http://your-ip/lib-name/trunk/1.0.0".
  • 你在这里给出的路径是podfile中的路径。我想知道你创建cocoapod时的pod spec文件细节......
  • @Saty 我用这个: s.source = { :svn => 'http://my-svn-server/MyLib/trunk/1.0.0' } (删除 http: )
  • 我无法将我的本地框架与 pod 项目集成。
猜你喜欢
  • 2020-01-19
  • 2019-06-03
  • 1970-01-01
  • 2015-03-30
  • 2014-12-13
  • 2015-05-15
  • 2012-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多