免责声明 - 我是cocoapods的新手。对于大多数ios开发人员来说,这可能是一个非常愚蠢的问题。
用于上传 cocoapods 的工件文档link非常具有说明性且易于理解。我已经按照这些步骤操作了,我尝试将一个众所周知的pod( ABCustomUINavigationController )上传到我自己的本地工具实例中。
我正在使用Web UI将pod(格式为.tar.gz)部署到artifactory。我这样做的方式是:
这是部署pod的理想方式吗? 另外,如果我想上传pod的xcodeproj(构建输出)以及.podspec文件,那么我该怎么办呢?
感谢。
答案 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'
]