有效利用Git和CocoaPods建立自己的代码库
每个coder在漫长的coding过程中,都会有自己常用的一套工具类方案,一些工具类和一些category,如果把这些整理一下提交到cocoapods不仅会方便自己每次使用,而且给开源社区做了贡献,也会帮助自己完善自己的工具类。
在repo目录下生成podspec文件
pod spec create ZCTouchID
生成了一个podspec文件,内容格式是固定好的
-
Spec MetaData -- 主要信息
-
s.name - pod名
-
s.version - pod版本
-
s.summary - pod的简介,别人在
pod search
你的库之后看到的一句简介 -
s.description - pod的详细描述,必须长于简介
-
s.homepage - pod的主页,一般是github这个repo的主页
-
s.screenshots - pod的截图
-
-
Spec License -- 使用的开源协议
- s.license - 使用Apache还是MIT还是其他协议
-
Author MetaData -- 作者信息
- s.author - pod的作者
- s.authors - pod如果有多个作者
- s.social_media_url - pod作者的一些社交帐号主页
-
Platform Specifics -- 支持的平台和系统版本
- s.platform - pod支持的平台
如果pod可以在多个平台上使用就设置下面这些的参数
- s.ios.deployment_target
- s.osx.deployment_target
- s.watchos.deployment_target
- s.tvos.deployment_target
-
Source Location -- pod的源地址
- s.source - pod的git源地址
-
Source Code -- pod的源文件
- s.source_files - pod的源文件,可以包含.h .m .swift .cpp .mm这些
- s.public_header_files - 一般就是pod的头文件.h居多
-
Resources -- pod用到的资源文件
- s.resource - 单个资源文件
- s.resources - 多个资源文件用** *这种通配符去匹配
- s.preserve_paths
-
Project Linking -- pod需要的一些依赖
-
s.framework
-
s.frameworks - 引用到的系统的framework
-
s.library
-
s.libraries - 引用系统的一些tbz文件
-
-
Project Settings -- pod依赖的设置
- s.requires_arc - 环境是arc还是mrc
- s.xcconfig - 对工程的一些设置
- s.dependency - pod引用了一些第三方的库
所以全部写完了的podspec成品是这个样子:

注意 s.source 这个地方,
:tag => "#{s.version}"
如果podspec这样写,可能在下面的验证步骤会无法通过,所以解决办法是,先把这个地方改成:branch => 'develop'
指向开发分支,通过验证之后,再改回s.version就可以。
验证podspec
验证命令 在pod目录下
pod spec lint
- --verbose 查看编译详情,清理错误
- --allow-warning 允许警告,为了通过编译
如果不打算上传到cocoapods,也可以使用下面的命令进行验证,该命令是使用本地的仓库进行验证
pod lib lint
推送到cocoapods的库
注册pod帐号
首先需要在终端注册pod帐号
pod trunk register [Email] [Name]
例如我注册就使用
pod trunk register zcillcoder@gmail.com Locke
之后没有意外就会向注册的邮箱发送一封邮件,去确认一波就可以
提交到cocoapods
在项目的master分支上打tag
git tag 1.0.0
git push origin 1.0.0
提交到cocoapods的官方spec仓库
pod trunk push ZCTouchID.podspec
成功了之后,就可以通过pod search
命令搜索到自己的库
