![](/img/trans.png)
[英]How to add a private CocoaPod as a dependency in another pod .podspec file?
[英]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 的存储库链接的命令。 像这样的 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
,这次它成功了。
注意:
Apollo
和Apollo/WebSocket
依赖项。 根据这个CocoaPods / issues / 2485 , CocoaPods / 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.