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
最后一个问题回答完之后会自动打开项目,目录如下:
2、打开HHDModuleProject文件夹,点击classes文件,把你封装的代码粘贴进来,然后终端执行
pod install
@pc-Mrwang ~ % cd /Users/Desktop/HHDModuleProject/Example
@pc-Mrwang ~ % pod install --no-repo-update
此时可以打开Example目录下的xcworkspace,看是否能运行成功。
3、编辑podspec文件
- s.version 版本号
- s.summary 项目简介(可以随便写写)
- s.homepage 建议写项目的首页
- s.source 填一个git地址的私有库,我这里是coding(github收费),可先去coding上创建项目,把仓库地址复制出来。
- 配置完成之后,再次cd到我们的Example文件,pod更新一下,终端执行
pod update --no-repo-update
4、运行Example项目,导入你的组件文件。
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项目有没有提交成功
8、检验私有库发布
新建一个项目,创建podfile文件并安装
pod install
9、可能遇到的问题主要还是在第六步
- 执行
git remote add origin
的时候报remote origin already exists
表示本地已有该仓库,可直接找到删除,或者终端执行git remote rm origin
- 执行
git pull origin master
的时候报Already up to date
表示可能确实是已是最新,可以执行git status
查看状态,如果有未提交的文件则可再次执行git add .
和git commit -a -m "提交内容"
- 也是执行
git pull origin master
的时候报Merge conflict in README.md
,这可能是你在创建代码仓库的时候添加了README.md文件,然后和本地有冲突,可直接到项目中找到README.md文件把冲突修改调,再次执行git add .
和git commit -a -m "提交内容"