美文网首页
Cocoapods私有化仓库搭建

Cocoapods私有化仓库搭建

作者: 呵呵哒不忧伤 | 来源:发表于2021-07-01 17:51 被阅读0次

1、在终端上移动到你想创建pod库工程的路径,并执行pod库的创建

@pc-Mrwang ~ % cd desktop
@pc-Mrwang ~ % pod lib create HHDModuleProject

回车之后会询问几个问题:

# 选择平台
What platform do you want to use?? [ iOS / macOS ]
> iOS
# 选择编程语言
What language do you want to use?? [ Swift / ObjC ]
> Objc
# 在你的项目中是否创建一个demo工程,为了方便测试,我选择了Yes
Would you like to include a demo application with your library? [ Yes / No ]
> Yes
# 测试框架选择哪一个
Which testing frameworks will you use? [ Specta / Kiwi / None ]
> None
#要不要做视图测试
Would you like to do view based testing? [ Yes / No ]
> NO
# 类前缀名
What is your class prefix?
> HHD

最后一个问题回答完之后会自动打开项目,目录如下:

目录.png
2、打开HHDModuleProject文件夹,点击classes文件,把你封装的代码粘贴进来,然后终端执行pod install
代码路径.png
@pc-Mrwang ~ % cd /Users/Desktop/HHDModuleProject/Example 
@pc-Mrwang ~ % pod install --no-repo-update

此时可以打开Example目录下的xcworkspace,看是否能运行成功。
3、编辑podspec文件


podspec.png
  • s.version 版本号
  • s.summary 项目简介(可以随便写写)
  • s.homepage 建议写项目的首页
  • s.source 填一个git地址的私有库,我这里是coding(github收费),可先去coding上创建项目,把仓库地址复制出来。
  • 配置完成之后,再次cd到我们的Example文件,pod更新一下,终端执行pod update --no-repo-update
    4、运行Example项目,导入你的组件文件。
    项目应用.png
    5、验证pod配置文件为了保证项目正确性,pod文件配置没问题,在提交之前,我们需要验证一下,终端执行cd /Users/yixian/Desktop/HHDModuleProject
    到这里,我们已经完成源码导入、验证项目是否能运行、pod配置文件本地验证了。
    6、项目发布,tag 0.0.1终端移到该项目文件下执行git的相关命令
# 添加远程地址,即上面创建码云项目的地址
@pc-Mrwang ~ % git remote add origin https://e.coding.net/Mrwan/Mr_wang/Module.git
# 添加文件
@pc-Mrwang ~ % git add .
# 提交本地,并写描述
@pc-Mrwang ~ % git commit -a -m "版本更新内容:添加UIView+Frame"
# --allow-unrelated-histories
# git pull origin master会失败 ,提示:fatal: refusing to merge unrelated histories
# 原因是远程仓库origin上的分支master和本地分支master被Git认为是不同的仓库,所以不能直接合并,需要添加 --allow-unrelated-histories
@pc-Mrwang ~ % git pull origin master --allow-unrelated-histories
# 推送到码云的PrintHelloWolrd项目的master分支上
@pc-Mrwang ~ % git push origin master
# 提交版本号
@pc-Mrwang ~ % git tag 0.0.1
# push到远程分支
@pc-Mrwang ~ % git push origin 0.0.1

7、创建Sepc管理库,创建步骤跟上面码云创建的git私有库同理,先到coding上面创建代码仓库,然后执行

@pc-Mrwang ~ % pod repo add HHDModuleSpecs https://mrwan.coding.net/p/specs/d/Specs/git

# PrintSpecs是刚才上面添加的管理库名字
# HHDModuleProject.podspec是HHDModuleProject项目里面后缀为podspec的文件名
@pc-Mrwang ~ % pod repo push HHDModuleSpecs HHDModuleProject.podspec

发布成功后,我们可以去coding看看HHDModuleSpecs的git项目有没有提交成功

coding.png
8、检验私有库发布
新建一个项目,创建podfile文件并安装pod install
podfile.png
验证.png

9、可能遇到的问题主要还是在第六步

  1. 执行git remote add origin的时候报remote origin already exists表示本地已有该仓库,可直接找到删除,或者终端执行git remote rm origin
  2. 执行git pull origin master的时候报Already up to date表示可能确实是已是最新,可以执行git status查看状态,如果有未提交的文件则可再次执行git add .git commit -a -m "提交内容"
  3. 也是执行git pull origin master的时候报Merge conflict in README.md,这可能是你在创建代码仓库的时候添加了README.md文件,然后和本地有冲突,可直接到项目中找到README.md文件把冲突修改调,再次执行git add .git commit -a -m "提交内容"

相关文章

网友评论

      本文标题:Cocoapods私有化仓库搭建

      本文链接:https://www.haomeiwen.com/subject/mtajultx.html