构建一个CocoaPods模块库的方法

我们平时开发iOS APP的时候,都喜欢用cocoaPods引入各种开源库,像AFNetworking、MJRefresh等著名的开源库,用Podfile一句话就可以引入项目,非常方便。那么,如何将自己开发的模块放到CocoaPods上供别人使用呢?下面就来介绍一下方法:

 

第一步:在Github上创建自己的模块库项目

 

首先,你要有个github的账号。进入github(https://github.com/),登录后点击右上角的“+”号,在弹出菜单中选“New repository”。

在弹出的页面中,依次输入“项目名”、“项目描述”,选中“Initialize this repository with a README”,.gitignore根据自己的开发语言来选就可以,比如我写这个项目用的是Objective-C,就从列表中选Objective-C。然后注意在“Add a license”那里选一种开源协议,一般选“MIT”就可以了。一定要选一个,否则github在初始化项目时不会创建一个名为"LICENSE"的文件,后面加入pods的时候会报错。

点击Create repository创建项目后,github会自动在项目中创建3个文件:.gitignore、README.md和LICENSE。点击旁边的“Code”按钮,可以看到这个git库的地址。使用git工具将它clone到本地(我喜欢用SourceTree,功能强大还免费)。

使用XCode创建一个Framework类型的工程,并保存到刚才clone到本地的项目目录中,Xcode会自动将工程的所有文件加入到git库。假设这个项目名为PeopleTestPod,我们在此项目中添加一个简单的Hello类,随便干一点事情。接下来,我们再用Xcode为PeopleTestPod添加一个名为“PeopleTestPodDemo”的Target,用来保存演示程序。(还记得你用过的那些别人开发的pods库吗?他们也是这么做的)

如果操作正确,现在Xcode中的代码结构应该大致是这个样子:

打开一个终端窗口,cd到项目的根目录,执行语句:

pod spec create 项目名 项目的github地址

例:

pod spec create PeopleTestPod https://github.com/ken-hanks/PeopleTestPod.git

此命令会自动创建一个扩展名为.podspec的配置文件。

现在让我们看一下磁盘上的目录结构,此时项目的目录下应该是这个样子的。

用vim打开PeopleTestPod.podspec文件,会看到很多的配置属性,我们只修改其中一部分就可以了。下面是需要修改的项目:

#项目名

spec.name        = “PeopleTestPod"

 

#版本号,需要和github上的tag一致

spec.version      = “0.0.5"

 

#项目说明,如果不写会有warning

spec.summary      = "This is a test project of pod."

 

#项目官网地址,如果不写会有Warning

spec.homepage     = "http://www.people.cn

 

#共享协议类型,建议写MIT,不写的话无法通过

spec.license      = “MIT"

 

#项目支持的操作系统以及最低版本号

spec.platform     = :ios, “10.0”

 

#源码的github地址,tag那里直接用这个宏定义就好了,和前面那个version属性一致

spec.source       = { :git => "https://github.com/ken-hanks/PeopleTestPod.git", :tag => "#{spec.version}” }

 

#source_files这个地方是最容易出错的,第一个引号里是项目名,第二个引号里是要包含到pod里的文件

#注意不要把那个Demo的Target包含到pod里。

#/**/表示递归包含,也就是把某个目录及其所有的子目录都包含进来。

#*.{h.m}表示包含所有扩展名是.h或.m的文件。

spec.source_files  = "PeopleTestPod", "PeopleTestPod/PeopleTestPod/**/*.{h,m}”

编辑完.podspec文件后,用git add指令添加到git库。然后提交一版并推送到github。

例:

    git add PeopleTestPod.podspec

    git commit -m "添加podspec文件"

    git push

给当前版本打一个tag,可以使用SourceTree这种工具。注意tag的号要和.podspec文件里的spec.version相同。

在终端下执行下面这个命令检测一下有效性。

pod lib lint

如果成功会显示:

PeopleTestPod.podspec passed validation.

如果不成功,则可以用pod lib lint --verbose 指令查看到底是哪里出了差错。

至此,构建一个CocoaPods模块库的第一个步骤就完成了。此时我们已经将模块的代码、Podspec文件上传到了github服务器,并按Podspec文件里的设定打好了Tag。此时我们打开github网站,应该能看到类似这样的界面:

 

第二步:将项目登记到CocoaPods.org

 

目前CocoaPods.org采用了一种名为“Trunk”的模式来实现这个操作,具体的操作步骤是:

进入项目目录,输入指令:

pod trunk register 邮箱 “用户名”

例: pod trunk register  han.kang@qq.com  "Ken_Hanks"

用户名是随便起的,注册完后,到邮箱里收确认邮件,点击链接。

用pod trunk me 查看一下。如果显示下面这样的信息,就算成功了。

 

输入指令:pod trunk push  将模块信息注册到CocoaPods

如果成功,反馈大概是这个样子:

push成功后,会反馈一个网址,类似上图中的https://cocoapods.org/pods/PeopleTestPod,我们就可以打开这个地址看到此模块的属性信息。不过此时这个模块还无法在https://cocoapods.org/ 的主页上查到,需要等大约一天时间,才可以查到。

当模块可以在CocoaPods的主页上查到后,我们就可以在本地终端上用 pod search 项目名 的指令搜索这个库了。

例: pod search PeopleTestPod

如果显示类似下面这样的提示,就说明pod项目已经可以在repo库中查到。

如果查不到,则需要用 pod repo update 指令更新一下本地的repo。

当pod search返回正确结果后,就可以让你的用户在Podfile中使用你开发的模块库了。以后模块库更新版本,只要修改.podspec文件中的spec.version属性,将其改为新的tag号,然后再用 “pod trunk push” 指令更新cocoapods网站上的信息就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值