最近,我正在进行公司iOS应用程序的模块化,我们选择使用cocoapods来管理模块。
-----这是背景-----
昨天,我尝试将模块上传到私有spec repo,因此我执行了以下命令(在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
,重新安装我的私人仓库......
有人有什么想法吗?
答案 0 :(得分:0)
嗯......最后我发现了原因
每次执行pod repo push xxx
命令时,cocoapods都会在自动创建的spec repo中找到每个依赖项的相应版本,它与您的私有spec repo具有不同的名称(名称形式有点像&#39; git服务器名称 - 组名称 - repo name&#39;)。此临时规格仓库与您的私人规格仓库相关。
解决方案是:删除临时规格仓库并再次运行pod repo push xxx
pod repo list
rm -rf [the repo directory name]