我们有私人规格回购。我们的一个私有pod与另一个名为CWFoundation(s.dependency 'CWFoundation', '~> 0.0.1'
)的内部pod有依赖关系。 CWFoundation的podspec只是一种使用jayway(https://github.com/jayway/CWFoundation)的CWFoundation作为pod的方式(因为它不存在podspec文件)。
一切正常,直到其他人在github上创建了一个名为CWFoundation(https://github.com/guojiubo/CWFoundation)的新项目,并将其添加到cocoapods的公共回购中。
现在我们的内部pod在解析依赖项时,而不是从我们的私有规格仓库下载CWFoundation,从公共仓库下载一个没有用。
我在cocoapods.org看了
如果您计划分配已经属于Master Spec仓库的库,那么现在我们建议选择一个以M之前的字母开头的名称
但是我们遵循这条规则,该广告连续名为CWFoundation,并以' C'它没有用。
如何检索CWFoundation的私有podspec文件?
答案 0 :(得分:3)
“M之前的一封信”的评论是指~/.cocoapods/repos
中您的私人规格代表的名称。由于~/.cocoapods/repos/master
是默认设置,因此需要~/.cocoapods/repos/alpha
而不是~/.cocoapods/repos/zeta
。只要这是真的,它应该使用它在主规格仓库中的那个之前找到的第一个规范。
修改强>
基于对我的回答的评论,这看起来像CocoaPods中的一个错误。请submit an issue。在此期间,只需重命名podspec即可解决问题。
答案 1 :(得分:2)
试试这个:
pod "NameConflictedPod", :source => MY_OWN_SPEC_REPOSITORY, :tag => '0.1'
这适合我。
MY_OWN_SPEC_REPOSITORY
是私有规格回购的git网址。我们知道官方默认规格repo是https://github.com/CocoaPods/Specs.git
。
希望我好好描述MY_OWN_SPEC_REPOSITORY
。
警告:此解决方案指定pod的版本。它不能使用像'〜>这样的版本。 0.0.1'它会自动更新小错误修复版本。但是......由于豆荚是由你自己开发的,所以它并不是什么大不了的事:P