一、发布代码到CocoaPods的步骤
1.注册cocoa pods(已注册可跳过)
2.验证cocoapods
3.创建代码仓库,提交代码
4.创建podspec文件
5.编辑podspec文件
6.验证podspec是否符合要求
7.发布podspec文件
8.用pod下载使用
二、发布代码到CocoaPods的具体步骤
1.注册cocoa pods
终端执行:$ pod trunk register 邮箱地址'用户名'--verbose
这里一般使用的是你的GitHub的邮箱和用户名,在你的邮箱中会收到验证邮件,在浏览器中点击链接验证后即可。
2.验证Cocoapods
再打开了邮件的链接之后,继续在终端中执行下面的代码
终端执行 $ pod trunk me
3.在GitHub上创建自己的代码仓库,重点来了,一定要选择许可证哟。
- public or prvivate:仓库的公开性,开源的话选public,如果是公司内部使用的 话,这里推荐大家使用私有的仓库,但是GitHub的私有仓库是要收费的。大部分公司都是有自己的Git服务器,不过一般只能在公司内网使用,或者可以选择Gitlab,Coding,Bitbucket任意一种
- initialize this repository with a README:是否默认创建一个README文档,一个完整的库都会有这个说明文档,这里最好勾选一下,不过如果忘记的话也不要紧,后面手动创建也是可以的
- .gitignore:忽略项文件,记录一些想忽略的文件类型,凡是该文件包含的文件类型,Git都不会将其纳入到版本管理中,看需要选择就行
- license: 正规的仓库都有一个 license 文件, Pods 依赖库对这个文件要求比较严格,需要有这个文件。这里最好让 github 自动创建一个,不过后续手动创建也行。我们这次先使用 MIT 类型的 license。
4.将项目下载到本地,然后提交,设置tag值,并且提交。(或者可以终端去创建一个组建项目pod lib create XXX)
5.创建.podspec文件
进入项目的根目录,执行
pod spec create 文件项目名(同项目名)
比如:我的项目名字为PL. 就是执行命令
pod spec create PL
6.编辑podspec文件
用XCode打开podspec文件
Pod::Spec.new do |s|
s.name = "PL"
s.version = "0.0.1"
s.summary = "TextView for iOS."
s.homepage = "https://github.com/PengLeiGit"
s.license = "MIT"
s.author = { "PengLei" => "1248667206@qq.com" }
s.platform = :ios, "9.3"
s.source = { :git => "https://github.com/PengLeiGit/PLiOS.git", :tag => "1.1" }
s.source_files = "PLDemo/**/*"
s.swift_version='4.2'
end
说明:
name -> 第三方的项目名字。例如:AFNetworking
version -> 第三方的版本号
summary -> 描述信息
homepage -> 主页地址
license -> 许可文件。就填写MIT,跟之前创建仓库的时候一致。
author -> 作者信息
platform -> 支持平台以及版本
source -> 资源仓库的地址,以及版本信息。
source_files -> 要共享的文件路径。从根目录(即。podspec文件所在目录)
swift_version -> swift的版本
7.检查podspec文件是否正确
这里有两种方式:
(1)从本地验证你的pod
pod lib lint
(2)从本地和远程验证你的pod
pod spec lint
8.发布
pod trunk push XXX.podspec
执行过程
a.更新本地 pods库 ~/.cocoaPods.repo/master
b.验证*.podspec格式是否正确
c.将 *.podspec 文件转成 JSON 格式
d.对 master 仓库进行合并、提交
9.完成发布操作
出现successfully published
过程当中可能遇见的坑:
1.删除文件的时候需要show in finder,然后进行删除
2.创建文件的时候,这里Xcode没有给你指定路径,需要自己手动选择哦
3.每次写完代码,需要到Example的文件路径下pod install
记录一下代码创建一个pod库
pod lib create 项目名
在选择后,创建的项目会自动打开