最近,我正在对我公司的iOS应用程序进行模块化,我们选择使用cocoapods来管理模块。
-这是背景
昨天,我尝试将一个模块上传到我们的私有规范存储库,因此我执行了以下命令(在podspec目录中)
pod repo push [private repo name] --allow-warnings --sources='[private repo git address]' --verbose --use-libraries然而,当cocoapods下载一些私有依赖项时,我发现一些依赖项的版本不是最新的,这导致xcodebuild步骤失败(因为我们在最新版本中更改了一些函数的名称)。
模块的podspec文件依赖部分:(我没有指定依赖的版本,因为我想要最新的版本)
...
s.dependency 'HomeJump'
...(在我的私有规范库中,HomeJump的最新版本是0.1.6,但每次我执行pod repo push xxx时,它安装的HomeJump版本都是0.1.5)
PS:
当我执行pod spec lint xxx时,HomeJump版本是0.1.6,是正确的。
我已经尝试过运行pod repo update,rm -rf /Library/Cache/Cocoapods,重新安装我的私人资源库...
有人有什么想法吗?
发布于 2017-03-23 13:23:57
好吧..。我终于找到了原因。
每次执行pod repo push xxx命令时,cocoapods将在自动创建的规范存储库中找到每个依赖项的对应版本,该规范存储库与您的私有规范存储库具有不同的名称(名称形式类似于“git服务器名称-组名称-存储库名称”)。此临时规范存储库与您的私人规范存储库相关。
解决方案是:删除临时规范存储库,然后再次运行 pod repo push xxx
rm -rf [the repo directory name]列出您的cocoapods存储库运行
https://stackoverflow.com/questions/42967469
复制相似问题