将pods部署到神器中的理想方法是什么?

时间:2016-05-05 07:01:50

标签: ios swift cocoapods artifactory

免责声明 - 我是cocoapods的新手。对于大多数ios开发人员来说,这可能是一个非常愚蠢的问题。

用于上传 cocoapods 的工件文档link非常具有说明性且易于理解。我已经按照这些步骤操作了,我尝试将一个众所周知的pod( ABCustomUINavigationController )上传到我自己的本地工具实例中。

文档的部署部分说 enter image description here

我正在使用Web UI将pod(格式为.tar.gz)部署到artifactory。我这样做的方式是: enter image description here

这是部署pod的理想方式吗? 另外,如果我想上传pod的xcodeproj(构建输出)以及.podspec文件,那么我该怎么办呢?

感谢。

2 个答案:

答案 0 :(得分:3)

我看到你在你的repo的.specs文件夹下上传了pod本身,这实际上是Artifactory保留index客户端稍后使用{{1}时检索到的pod的位置}或pod repo-art add。虽然没有限制 来放置pod本身,但我会将它们排除在pod repo-art update文件夹之外,以便为自己保持整洁。

至于构建输出 - CocoaPod通常包含项目可以包含的源代码(可能还有其他资源),而不是项目构建的输出,所以我不确定上传额外的好处是什么内容(例如构建产品)与它分开并与之分离。

在任何情况下.specs客户端处理pod的方式是通过在索引中搜索正确的条目(即您的仓库中pod下的所有内容)满足所需版本在您的项目.specs中定义,然后使用该索引文件中的地址(在我们的案例中指向Podfile)下载所需的Artifactory

换句话说,Artifactory和Pod客户端都会忽略您放入存储库中的任何其他不是tarballed pod的内容。

答案 1 :(得分:0)

对于MAC用户:

第1步:

brew install gnu-tar 

原因:默认情况下,mac使用tar进行压缩,并且jFrog工件存在问题

用法:

gtar czvf swift-sdk.tar.gz *
gtar czvf testPOD.tar.gz testPOD/testPOD/* testPOD/testPOD.podspec

注意:确保不要压缩不必要的文件。例如,如果.git出现在zip中,则会产生很多问题。

第2步:

关注官方链接和视频 https://www.jfrog.com/confluence/display/RTF/CocoaPods+Repositories#app-switcher

一些有用的命令:

要将规范存储库添加到本地计算机:

pod repo-art add cocoapods-local "http://localhost:8081/artifactory/api/pods/cocoapods-local"

有关回购更新:

pod repo-art update cocoapods-local

将工件推送到jFrog:

curl -uadmin123:123456 -XPUT http://localhost:8081/artifactory/cocoapods-local/testPOD/0.1.0/ -T testPOD.tar.gz

Cocoapod规格库:

source 'https://github.com/CocoaPods/Specs.git'

指向Podfile中的规范存储库

plugin 'cocoapods-art', :sources => [ 'cocoapods-local' ]