iOS_创建自己的Cocoapods公共库

使用pod管理代码的好处

通常在开发的过程中,大多时候,我们会处理一类相同的操作,比如对于字符串String的邮箱验证,是否为空,手机号验证,或者一些UIView的动画操作,我们为了避免写一些重复的代码,可能经过类目或者延展的形式对原有的类进行了一个扩充。还有一些是工程中一些基本的公共组件,比如城市列表,刷新控件,网络请求库或者商品的目录这种基本公共组件,在工程中好多地方需要调用,我们都可以进行封装成一个组件功能模块。为了以后方便在其他App中使用,我们可以使用Cocoapods把这些小点子,小功能,可以封装成一个pod,当下次使用的时候,只需简单配置就可以了。这一点特别是在公司开发多个项目的时候,可以很方便快速的共享公共的代码,节约开发时间,这就是为什么好多公司喜欢组件化管理代码。至于库是创建私有的还是公共的,看自己和公司要求而定,大多情况下公司的是私有库pod。本篇主要以创建公共库示例,进行阐述。

1. 创建一个远程公有Pod(这个在码云或者GitHub上创建都可以)

远程公有Pod创建

2. 创建一个本地工程

打开终端,切换到你要创建的位置的目录。例如:桌面cd Desktop/TestPod

创建工程

  • 当被问及创建Swift还是OC项目,按自己要求回答,我选择ObjC;
  • 当被问及是否创建一个demo应用包含在工程里,根据需要,如果需要写一个demo示例,就选择Yes,否则选择NO,我这里选择Yes;
  • 当被问及是否需要使用测试Framwork,选择NO;
  • 当被问及是否需要做接界面调试,我这里选择NO;
  • 还有一个就是工程文件的前缀,我这里是自己的名字的缩写,这个随意写;

 

配置工程

3.填写Pod的Metadata和验证

  • .podspec这个文件主要是用来描述pod的版本号,首页(homepage),作者信心等,具体的可以参看官方offical reference page
  • README如果你使用过GitHub,你肯定知道README文件的重要性,这个文件可以使用Markdown语法,主要展示在GitHub工程上的首页。README文件对于使用这个pod库的人来说,有和没有这个文件,区别是很明显的,此外这还有助于创建一个高质量的 CocoaPods Quality Index ;
  • LICENSE要想是Spec仓库接收,就必须包含一个license。命令pod lib create 自动创建使用的是 MIT license;
    其实通过pod lib lint 这个命令,Cocoapods已经帮我们创建了一个模板我们只需要在里面根据需要你进行配置即可.没有用到的注释(#开头的)可以删除掉,看起来舒服一些.

配置.podspec文件

注意:1、修改s.summary描述:就是描述这个git是干嘛的

            2、修改s.homepage:远程pod的主页url

            3、修改s.source:远程pod的git地址

4. 添加自己的代码

通过以上步骤,我们只是创建了一个合格的空的工程,并没有实现任何功能,接下来我们就需要把自己要实现的功能代码方进去.

找到工程中ReplaceMe文件,替换就可以.

文件介绍

接下来,我们做一个远程验证:1、cd 你的pod路径下   2、pod lib lint LRHPublicPod.podspec

远程验证

只要见到passed validation就是成功通过了验证.

5、接下来就需要把自己的工程推送到Github:

git add .
git commit -m “Initial Commit"
git remote add origin https://github.com/<GITHUB_USERNAME>/YourPodName.git // replace <GITHUB_USERNAME> with your github.com username
git push -u origin master

6. 提交自己的pod

Step 1: Tagging

Specs仓库是用来存放GitHub上面所有公共Pod的索引的文件,我们要做到就是让本地的pod在Specs建立联系.在做这个之前,需要将我们完善后的工程代码,打一个tag,同步到服务端:

git tag 0.1.0
git push origin 0.1.0

Step 2 :验证

终端切换到LPodTest.podspec文件所在的目录下面,运行命令

pod spec lint LRHPublicPod.podspec

 -> LPodTest (0.1.0)

Analyzed 1 podspec.

LRHPublicPod.podspec passed validation.

7.Step 3 : 提交pod 到Specs仓库

pod trunk push LRHPublicPod.podspec
Updating spec repo `master`
Validating podspec
 -> LRHPublicPod (0.1.0)

Updating spec repo `master`

--------------------------------------------------------------------------------
 ?  Congrats

 ?  LRHPublicPod (0.1.0) successfully published
 ?  March 3rd, 03:07
 ?  https://cocoapods.org/pods/LRHPublicPod
 ?  Tell your friends!
--------------------------------------------------------------------------------

到此大功告成!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值