美文网首页
iOS 制作自己的cocopods私有库

iOS 制作自己的cocopods私有库

作者: TigerManBoy | 来源:发表于2019-02-28 14:40 被阅读0次

在iOS开发中,越来越多人使用模块化开发了,使用模块化开发的前提是学会制作私有库,以方便项目中导入使用,之前制作过几次cocopods私有库,中间出很多问题,也都一一解决了,在这里记录一下制作过程 ,以及遇到的坑。

1.在本地合适的地方创建pod库,比如说Desktop

1.在终端中移动到Desktop
wangpengdeiMac:~ wangpeng$ cd desktop

2.创建pod库, 命令是pod lib create [私有库库名]
wangpengdeiMac:desktop wangpeng$ pod lib create MyPodsTest

点击回车之后,终端会需要你回答几个问题:

1、选择使用的平台
What platform do you want to use?? [ iOS / macOS ]
 > ios
2、选择使用的语言
What language do you want to use?? [ Swift / ObjC ]
 > objc
3、是否创建一个demo工程用来测试,推荐yes
Would you like to include a demo application with your library? [ Yes / No ]
 > yes
4、测试框架选择哪一个
Which testing frameworks will you use? [ Specta / Kiwi / None ]
 > none
5、要不要做视图测试
Would you like to do view based testing? [ Yes / No ]
 > no
6、类名前缀
What is your class prefix?
 > LT
创建pods项目.png

显示如上图,则表示创建成功,创建成功之后,会自动打开项目。

2.安装cocoapods项目

1、移动到创建的pod库下面的Example项目下
wangpengdeiMac:desktop wangpeng$ cd /Users/wangpeng/Desktop/MyPodsTest/Example 
2、安装cocoapods项目
wangpengdeiMac:Example wangpeng$ pod install --no-repo-update
安装cocoapods项目.png

3.打开项目,把你的私有库的.h和.m文件拷贝到pods项目下的classes里面

屏幕快照 2019-02-28 下午1.22.23.png

将图片或者bundle文件放到Assets下面

屏幕快照 2019-02-28 下午1.24.05.png

4.编辑cocoapods配置文件(后缀名为.podspec),在pod项目下

屏幕快照 2019-02-28 下午1.27.17.png
//项目名字
s.name             = 'MyPodsTest'
//项目版本号,一般习惯使用0.0.1开始
s.version          = '0.1.0'
//项目简介
s.summary          = 'A short description of MyPodsTest.'
//项目详细描述
s.description      = <<-DESC
TODO: Add long description of the pod here.
                       DESC
//项目主页地址,随便写个网站就行,最好写本项目的地址,可以在github,gitlab或者码云上创建一个项目,关联本项目
s.homepage         = 'https://github.com/wubingjia/mypodstest'
//许可证
s.license          = { :type => 'MIT', :file => 'LICENSE' }
//作者
s.author           = { 'wubingjia' => 'my_badboy521@163.com' }
//项目的地址,需要填一个git地址的私有库,码云的和gitlab的免费,github的收费,创建项目之后,将项目地址拷贝复制
s.source           = { :git => 'https://github.com/wubingjia/mypodstest.git', :tag => s.version.to_s }
//版本
s.ios.deployment_target = '8.0'
//源码文件的配置路径
s.source_files = 'MyPodsTest/Classes/**/*'
//资源文件的配置路径(图片等..)---静态库的配置方法
s.resource_bundles = {
   'MyPodsTest' => ['MyPodsTest/Assets/*']
  }
//资源文件的配置路径---动态库的配置方法
s.resources = 'MyPodsTest/Assets/*'
//源码头文件的配置路径
s.public_header_files = 'MyPodsTest/Classes/**/*.h'
//系统框架的依赖库
s.frameworks = 'UIKit', 'MapKit'
//私有库依赖的第三方库
s.dependency 'AFNetworking', '2.5.4'
s.dependency 'YYImage'
s.dependency 'LYEmptyView'

一切配置完成之后,执行pod update --no-repo-update更新一下

wangpengdeiMac:Example wangpeng$ pod update --no-repo-update
屏幕快照 2019-02-28 下午2.06.32.png

5.之后打开demo项目,看一下能不能运行起来,有错的话改错,直到项目可以运行起来,检查自己的私有库是否可以使用,如果可以,说明已经完成。接下来要进行本地验证

//进入我们的pod库中
wangpengdeiMac:~ wangpeng$ cd /Users/wangpeng/Desktop/MyPodsTest 
//执行本地验证的命令
wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint

这里说明一下,本地验证的命令有几个推荐的:
1、本地验证
wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint
2、本地验证+打印详细信息
wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint --verbose
3、本地验证+允许使用静态库
wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint --use-libraries
4、本地验证+允许警告
wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint --allow-warnings
5、本地验证+快速验证
wangpengdeiMac:MyPodsTest wangpeng$ pod lib lint --quick
屏幕快照 2019-02-28 下午2.18.54.png

出现上面这种情况,说明验证通过。

6、发布项目

1、添加远程地址,即在github,gitlab或者码云上创建的私有库的地址
git remote add origin http://gitlab.guxiansheng.cn/dexun/mypodstest.git
2、添加文件
git add .
3、提交本地,并添加描述
git commit -m "第一次提交"
4、拉取远程的代码
git pull origin maste
# --allow-unrelated-histories
# git pull origin maste会失败 ,提示:fatal: refusing to merge unrelated histories
# 原因是远程仓库origin上的分支master和本地分支master被Git认为是不同的仓库,所以不能直接合并,需要添加 --allow-unrelated-histories
5、推送本地代码到远程
git push origin master
6、打tag
git tag 0.0.1
7、推送tag到远程
git push origin 0.0.1

7、创建Spec的管理库

创建方式和上面在github,gitlab和码云上创建私有库的方式一样
然后再本地执行Spec创建命令

创建Spec
pod repo add MyPodsTestSpecs http://gitlab.guxiansheng.cn/dexun/MyPodsTestSpecs.git

接下来就可以进行发布了

将自己私有库添加的Spec的管理库中
pod repo push MyPodsTestSpecs MyPodsTest.podspec

8、检验私有库的发布和使用

在项目的Podfile中添加

pod 'MyPodsTest',:git => 'http://gitlab.guxiansheng.cn/dexun/mypodstest.git'

导入成功就可以使用了。

相关文章

网友评论

      本文标题:iOS 制作自己的cocopods私有库

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