手把手教你创建私有podspec
程序员文章站
2022-05-18 17:44:21
本文来自 网易云社区 。 CocoaPods是iOS非常好用的类库管理工具,可以非常方便的管理和更新项目中使用到的第三方库,以及将自己项目中的公共组件交由它管理。 一、创建私有podspec 1、创建私有Spec Repc Spec Repo是Pods的一个索引,是一个容器,实际是一个Git仓库,r ......
本文来自 。
CocoaPods是iOS非常好用的类库管理工具,可以非常方便的管理和更新项目中使用到的第三方库,以及将自己项目中的公共组件交由它管理。
工作中比较常用到的是通过CocoaPods使用第三方库,那么,如果将自己的公共组件创建成podspec供其他人使用?踩过各种坑之后,下面整理了如何创建私有的podspec并在项目中部署使用的方法。
一、创建私有podspec
1、创建私有Spec Repc
Spec Repo是Pods的一个索引,是一个容器,实际是一个Git仓库,remote端在Git上,当使用CocoaPods后它会被clone到本地的~/.cocoapods/repos目录下。创建一个私有的Spec Repo后可以将自己的Pods添加进来。
先在Git上创建私有的Spec Repo地址,例:
然后通过命令行创建私有Spec Repo,如下图
创建成功后进入到~/.cocoapods/repos目录下就可以看到DemoSpecs这个目录。
2、创建Pod项目工程文件
-
如果现有的组件还不没有上传到Git仓库,则可以通过CocoaPods提供工具Using Pod Lib Create(详情查看: 创建一个pod项目工程仓库。具体步骤如下:
2.1)cd到要创建项目的目录执行pod lib create 项目名
如下图为创建项目的过程。
2.2)向工程文件夹中添加库文件和资源并配置podspec文件。
2.3)添加好文件,工程无错后可以将项目推送到远端仓库。同样先创建一个远端Git项目地址:
然后将项目push到远端并打上tag,如下图。
2.4)编辑podspec文件。如下是我这边用到的字段并做了注释,官方文档有更详细的介绍,如果有需要用到其他字段,可以直接查阅:
2.5)编辑完后需要验证podspec文件是否可用。验证需要执行命令 pod lib lint 如下图验证通过。
-
如果现有的组件已经在Git仓库中,则直接创建podspec文件并进行编辑、验证即可。
创建podspec文件的命令行如下:
pod spec create NEMonkeyTT
3、本地测试podspec文件
此时由于podspec文件还没有push要远端,通过指定本地路径的方式进行测试,在测试项目中podfile文件中,可以通过如下两种方式来本地引进pod库。
4、向Spec Repo提交podspec
本地测试podspec文件无误后,最后一步是将podspec文件提交到私有Spec Repo中。
二、使用私有podspec
私有podspec创建好后,可以在项目中通过pod 库名的方式直接使用。
以下几点需要注意:
1、由于是私有的podspec,使用时需要确认已经添加了对应Git仓库的权限。
2、同样由于私有podspec的关系,在项目中pod时会出现找不到对应pod的情况,需要在podfile文件最前面先用source指明依赖库的地址。
3、如果是老项目中新增pod库,为了不影响已有的pod库,在podfile中添加新的pod命令后需要使用pod install进行安装。
*下面讲一下pod install 与 pod update 的区别
pod install:第一次在工程里面使用pod的时候使用,每次添加、移除pod的时候使用。pod install在下载、安装新的库的同时会把安装的库的版本都写在podfile.lock文件。pod install会下载安装pods里面但不在podfile.lock文件里的那些库之间的依赖。对于podfile.lock里列出的库,会下载podfile.lock里明确的版本,不会去检查该库是否有新的版本。对于还不在Podfile.lock里面的库,会找到Podfile里面描述对应版本(例如:pod "NEMonkeyTT", "~>0.0.1")。
pod update:会更新到这个库的新版本,而不需要考虑Podfile.lock里面的限制,它会更新到这个库尽可能的新版本,只要符合Podfile里面的版本限制。如果运行pod update,后面没有跟库的名字,CocoaPods就会更新每一个Podfile里面的库到尽可能的最新版本。
重点:使用pod update PODNAME去只更新某个特定的库(检查是否有新版本,并尽可能更新到新的版本)。而当在Podfile里面添加了一个库的时候,应该使用pod install,而不是pod update,这样既安装了这个库,也不需要去更新其它的已安装库。
三、更新私有podspec
当pod工程有更新后,将工程pod到远端Git仓库并打上新的tag。编辑podspec文件,更新s.version为新的tag版本号。本地验证podspec文件无误后,将podspec文件push到远端即可。更新成功后可以在~/.cocoapods/repos/NEMonkeyTT/目录下看到两个版本号。
通过pod search NEMonkeyTT查询也可以搜索到两个版本号。
至此,私有podspec更新发布好了,可以在使用时通过指定不同的版本号安装对应的podspec版本。
本文已由作者涂玉玲授权发布。
上一篇: 石家庄特产有什么 石家庄特产方便送人的
下一篇: 苦瓜可以生吃吗 有什么功效