ios – Artifactory Cocoapods缓存

ios – Artifactory Cocoapods缓存,第1张

概述在我们公司,我们在代理背后工作.这就是为什么我们将Artifactory放入我们的工具链的原因之一. 一切看起来都很好,远程存储库已经下载了包含所有podspecs的master.tar.gz,并将podspecs中的source-URLs更改为Artifactory URL,它们应该从现在开始加载.但是问题就出现了: >仅对“git”源更改URL,每当源为“http”时,源不会更改.我们遇到此问 在我们公司,我们在代理背后工作.这就是为什么我们将Artifactory放入我们的工具链的原因之一.

一切看起来都很好,远程存储库已经下载了包含所有podspecs的master.tar.gz,并将podspecs中的source-URLs更改为Artifactory URL,它们应该从现在开始加载.但是问题就出现了:

>仅对“git”源更改URL,每当源为“http”时,源不会更改.我们遇到此问题的示例是“GoogleMaps”窗格.
>如上所述,我们在代理服务器后面,并且这个pod“GoogleMaps”的安装无法正常工作,因为我们无法绕过代理服务器.
>即使我们能够做到这一次,我也希望Artifactory能够缓存pod,就像它对其他pod一样.这将解决问题,而不是完全解决,但至少从现在开始,开发人员可以访问缓存版本.但是“http”源不会被缓存,我不知道为什么.

屏幕截图显示了其他已使用的pod如何缓存,而不是GoogleMaps缓存.

因此,如果有人遇到同样的问题,甚至可能解决了问题,如果你能帮助我,这将是惊人的.

解决方法 这里的问题实际上不是’git’网址与’http’网址,因为Artifactory知道如何在提供索引时处理这两个问题.
它的工作方式是,Artifactory实际上会在它返回给客户端的索引中重新写入url以指向您的实例,然后将实例下载,缓存并将pod提供回客户端 – 您可以在客户端在您的mac上创建的本地索引repo(通常在〜/ .cocoapods / repos /< repo_name>下;

你有一个remote repo指向github.com所以Artifactory只替换这些网址(http://或git://,没关系) – 原因是远程的端点是github.com,它只能查询它用于下载请求.

在您的情况下,Google地图广告连播的下载网址指向https://dl.Google.com/geosdk/Googlemaps-ios-1.0.1.zip,因此Artifactory不会尝试更改网址,因为它没有指向到github.

我猜你真正想要的是一种类似于我们对Bower的dependency re-write所做的机制 – 但是Cocoapods还没有这个功能.我们非常欢迎您提交功能请求,您可以在我们的support portal中进行.

作为一种解决方法,我建议您手动下载构建所需的任何pod(我猜它是一个有限的列表)将它们部署到本地cocoapods存储库(或者将已经存在的那些从远程缓存存储库复制到本地的),并指出你的客户.它将能够提供所需的pod,就像从远程仓库获得它们一样.

总结

以上是内存溢出为你收集整理的ios – Artifactory Cocoapods缓存全部内容,希望文章能够帮你解决ios – Artifactory Cocoapods缓存所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1059525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存