首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向.podspec添加带源的Pod依赖项

向.podspec添加带源的Pod依赖项
EN

Stack Overflow用户
提问于 2019-04-18 12:20:20
回答 4查看 28.4K关注 0票数 11

我正试图在我的Podspec中添加以下依赖项

代码语言:javascript
复制
s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'

当我尝试运行pod lib lint MyPodName.podspec时,这里是我在我的终端中得到的

代码语言:javascript
复制
- 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使用。但是现在我自己创造了一个吊舱,我很难理解我应该怎么做才能让它发挥作用。

提前谢谢你!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-04-18 23:03:39

解决了!

事实证明,项目的Podfile文档在所有这一切中都起着重要作用。我在该项目的/Example文件夹中找到了它。我所做的是:

代码语言:javascript
复制
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行,但它确实是这样工作的)

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

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

代码语言:javascript
复制
  s.dependency 'Apollo'
  s.dependency 'Apollo/WebSocket'

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

注意:

  • 我需要ApolloApollo/WebSocket依赖关系。
  • 我还没有推出我的Pod,不能保证这一切都是100%正确的
  • 我对CocoaPods还不熟悉,所以这可能不是解决这个问题的最佳方案。
票数 11
EN

Stack Overflow用户

发布于 2019-04-18 16:16:11

看起来不允许在PodSpec中像这样定义依赖项。请参阅CocoaPod关于依赖性的指导文件

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

票数 11
EN

Stack Overflow用户

发布于 2019-06-13 13:02:41

根据这个CocoaPods/issues/2485CocoaPods/issues/922,podspecs现在不能指定依赖项的来源。

备选方案:

For public repo

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

如果您指定了一个私有回购

可以按照这个博客的步骤创建一个私有库(pod repo push)。然后,您应该能够使用s.dependency 'YourPrivateProjectName', '~> 0.0.1'指定您的私有项目。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55745916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档