Cocoapods私有化仓库搭建

2021-07-01  本文已影响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
# 添加远程地址,即上面创建码云项目的地址
@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 "提交内容"
上一篇 下一篇

猜你喜欢

热点阅读