繁体   English   中英

将带有源的 Pod 依赖项添加到 .podspec

[英]Add Pod dependency with source to .podspec

我正在尝试将以下依赖项添加到我的 Podspec

s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'

每当我尝试运行pod lib lint MyPodName.podspec时,我都会在终端中得到以下pod lib lint MyPodName.podspec

- ERROR | spec: The specification defined in `MyPodName.podspec` could not be loaded.


[!] Invalid `MyPodName.podspec` file: [!] Unsupported version requirements.

 #  from <PathToMyPodspec>/MyPodName.podspec:36
 #  -------------------------------------------
 #    
 >    s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'
 #    
 #  -------------------------------------------

我已经成功地将它用作我的一个 iOS 项目中的 Pod。 但是现在我自己正在创建一个 pod,我很难理解我应该怎么做才能让它工作。

先感谢您!

看起来不允许像这样在PodSpec中定义依赖项。 请参阅有关依赖关系的 CocoaPod指南文档

它似乎应该只包含如下所述的版本信息。 不允许使用其他格式。

在此输入图像描述

在执行验证时,您需要输入带有指向托管 podspec 的存储库链接的命令。 像这样的 pod lib lint --sources=git@github.com:CocoaPods/Specs.git,git@github.com:otherRepos

解决了!

事实证明,项目的Podfile文档在所有这些中起着重要作用。 我发现它在所述项目的/Example文件夹中。 我所做的是:

use_frameworks!
source = 'https://github.com/apollographql/apollo-ios'
source = 'https://github.com/apollographql/apollo-ios'

target 'MyPodName_Example' do

  pod 'Apollo'
  pod 'Apollo/WebSocket'
  pod 'MyPodName', :path => '../'

  target 'MyPodName_Tests' do
    inherit! :search_paths


  end
end

(我不太确定我是否一定需要两个source行,但确实如此工作)

然后我在/Example目录上运行pod install

之后,我返回到MyPodName.podspec文件并编辑了依赖项,如下所示:

  s.dependency 'Apollo'
  s.dependency 'Apollo/WebSocket'

然后我在根目录(我的.podspec文件所在的位置)上运行了pod lib lint MyPodName.podspec ,这次它成功了。


注意:

  • 我需要ApolloApollo/WebSocket依赖项。
  • 我还没推过我的Pod,也无法保证所有这一切都是100%正确的
  • 我是CocoaPods的新手,所以这可能不是解决问题的最佳解决方案。

根据这个CocoaPods / issues / 2485CocoaPods / issues / 922 ,podspecs现在无法指定依赖关系的来源。

替代方案:

对于公共回购

只需直接使用s.dependency 'Apollo/WebSocket', '~> 0.0.1'即可。

如果您要指定私人仓库

随心所欲地按照这个博客的步骤创建( pod repo push )私人图书馆。 然后你应该能够通过使用s.dependency 'YourPrivateProjectName', '~> 0.0.1'来指定你的私人项目s.dependency 'YourPrivateProjectName', '~> 0.0.1'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM