【发布时间】:2018-05-26 12:10:45
【问题描述】:
我已经创建了我的第一个 Cocoapod,并且正在尝试第一次在测试程序中使用它。即使它显示在“pod 列表”中,但当我通过说“无法找到规范”来尝试“pod install”时它还是失败了。 Lint 在 pod 上成功,我已将其推送到我的私人 pod 存储库。我还验证了我的私人 repo 列在“pod repo list”中。
我在 StackOverflow 上发现了一些类似的线程,但似乎没有任何帮助。
请参阅下面的详细信息。
更新:
基于 Larme 的 cmets,我尝试了一些方法:
1) 在 Podfile 顶部添加以下行没有任何效果:
来源'ssh://git@code.mycompany.net/xmios/lib-mylib.git'
2) 取消版本号限制没有帮助。
3) 更改 Podfile 以使以下确实工作:
pod 'Lib-MYLIB', :git => 'ssh://git@code.mycompany.net/xmios/lib-mylib.git', :tag => '0.0.3'
问题:
A) 为什么 #1 不起作用?
B) 为什么它不能搜索所有配置的 spec repos 并找到 pod 本身?
更新 2:
我发现虽然我可以指定一个特定的标签,但我不能指定一个版本条件(例如> = 0.0.3),这是方法#3的一个重大缺点,所以我正在寻找一种方法这让我可以这样做。
更新 3:
通过更多的实验,我找到了一个很好的解决方案,它包括像以前一样在 Podfile 的开头使用“source”关键字。问题是我需要在那里指定 podspec repo 路径,而不是源本身的路径。
===> 在测试程序的 Podfile 中
目标 'LibMYLIB_Consumer_Test' 做
pod 'Lib-MYLIB', '~> 0.0.3'
结束
===> 在 podspec 中为 pod:
s.source = { :git => "ssh://git@code.mycompany.net/ios/lib-mylib.git", :tag => "#{s.version}" }
s.name = "Lib-MYLIB"
s.version = "0.0.3"
===> Pod 列表
...
Lib-MYLIB 0.0.3
...
===> 吊舱安装 --verbose 准备中
分析依赖关系
检查要集成的目标 使用
ARCHS设置构建 目标Pods-LibMYLIB_Consumer_Test的架构:(``)解决
Podfile[!] 的依赖关系无法找到规范 为Lib-MYLIB (~> 0.0.3)/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/resolver.rb:461:in
handle_resolver_error' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/resolver.rb:80:inrescue 解决' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/resolver.rb:72:inresolve' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:771:inblock in resolve_dependencies' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/user_interface.rb:64:insection' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:768:inresolve_dependencies' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer/analyzer.rb:79:inanalyze' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:242:inanalyze' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:154:inblock in resolve_dependencies' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/user_interface.rb:64:insection' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:153:inresolve_dependencies' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/installer.rb:116:in安装! /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/command/install.rb:41:inrun' /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:inrun' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/lib/cocoapods/command.rb:52:inrun' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.3.1/bin/pod:55:in' /usr/local/bin/pod:22:inload' /usr/local/bin/pod:22:in'
【问题讨论】:
-
如果您使用
pod 'Lib-MYLIB'而不是pod 'Lib-MYLIB', '~> 0.0.3'是否有效?另外,在你podfile的开头,你做了source 'ssh://git@code.mycompany.net/ios/lib-mylib.git吗?另一种可能性是做pod 'Lib-MYLIB', :git => ssh://git@code.mycompany.net/ios/lib-mylib.git -
非常感谢,其中一个解决方案有效(请参阅我在原始帖子正文中的更新),尽管它有一个限制,所以我仍在寻找其他解决方案。
-
如果您通过测试我的提议/提示而成功并使其发挥作用,请随时通过解释回答您自己的问题。
标签: cocoapods