1.打开Xcode新建一个工程,命名为cocoapodTest,
2.然后在appdelegate同级目录下新建Classes文件夹,这个文件夹用来存放核心代码,
3.打开终端,cd 到工程根目录
4.执行git init 初始化一个本地git仓库
5.在github上同样创建一个cocoapodTest,最好保持同名,需要注意的是,在创建仓库的时候需要添加license类型,这里我使用license类型为MIT
6.关联本地仓库到远程仓库
copy 远程仓库的链接
git remote add origin https://github.com:yxg0728/cocoapodTest
git fetch
git merge origin/master master
或者执行
git remote add origin https://github.com:yxg0728/cocoapodTest
git pull
因为git pull = git fecth + git merge
7. 添加{project}.podspec文件
依赖库所需的文件格式为{project}.podspec格式,每个Pods依赖库必须有这个描述文件
pod spec create cocoapodTest
这样就生成了cocoapodTest.podspec文件,打开该文件添加内容,并删除不需要的:
Pod::Spec.new do |s|
s.name = "cocoapodTest"
s.version = "0.0.1"
s.summary = "制作cocoapod库"
s.description = <<-DESC
这是一个制作cocoapod库的项目
DESC
s.homepage = "https://github.com/yxg0728/cocoapodTest"
s.license = "MIT"
s.author = { "yxg0728" => "yxg0728@163.com" }
s.platform = :ios,'6.0'
s.source = { :git => "https://github.com/yxg0728/cocoapodTest.git", :tag => "#{s.version}" }
s.source_files = "cocoapodTest/Classes/*.{h,m}"
s.framework = "UIKit"
s.requires_arc = true
end
s.source_files指向项目的核心代码,放在项目的cocoapodTest/Classes/*.{h,m}
8.pod验证
pod lib lint
pod lib lint是基础校验命令,用来校验本地.podspec文件的,如果要校验远程,把lib改为spec即可。(spec会同时验证本地和远程是否通过)
- 如果使用了第三方库,需要在后面加上
--use-libraries参数 - 如果因为有警告导致报错的,可以加上
--allow-warnings参数解决 - 如果需要输出详细信息,可以加上
--verbose参数 - 如果是私有的repo库要就要加上
--sources=“私有库的地址”
- 提示
passed validation即为校验通过- 提示
[!] The spec did not pass validation即为校验失败- 只有校验通过了,才能进行下一步操作
- 一般来说,只需要校验本地即可
无报错则进行下一步,有报错则根据报错信息改正
9.提交代码到github
git add .
git commit -m "version 0.0.1"
git push -u origin master
git push -u origin master
相当于
git branch --set-upstream-to=origin/master master
//将远程仓库origin的master分支与本地仓库master分支关联
加
git push origin master
打上标签
git tag 0.0.1
git push --tags
不出问题的话,就可以在github上看到最新提交的内容了
10.上传{project}.podspec到CocoaPods官方仓库中
要想一个cocoapodTest库真正可以用,就得把生成的cocoapodTest.podspec文件提交到Cocoapods官方的Specs仓库中,才能被pod search到并正常使用
CocoaPods为我们提供了一个很方便安全的方法 trunk
Trunk的Register
如果第一次使用的话那么就需要注册了,需要cocoapods 0.33版本以上才支持
接下来的几个步骤需要自备梯子,否则可能会够不着
pod trunk register youremail@163.com 'yourname' --description='MacBookPro' --verbose
以上命令是注册所需的,替换你的邮箱,用户名,以及描述内容, --verbose可以输入详细的debug
完成后需要去邮箱验证一下能继续往下操作, 注册成功以后,可以使用
pod trunk me
11. 提交{project}.podspec
在{project}.podspec文件的路径下执行
pod trunk push cocoapodTest.podspec
如果出现警告加上 --allow-warnings
pod trunk push cocoapodTest.podspec --allow-warnings
关于 --allow-warings还有其他相关的参数也可以尝试
--sources="xxxx" 对应远端仓库地址
--verbose 输出详情
--allow-warnings 允许警告
--user-libraries 允许使用静态库
--skip-import-validation 跳过验证
这条命令做了如下三件事:
- 验证本地的podspec文件, 如果要校验远程,把
pod lib lint改为pod spec lint即可 - 上传
podspec文件到trunk服务 - 将
{project}.podspec文件转为{poject}.podspec.json文件
这里是用的我制作第一个库上传成功的截图,^_^
push成功之后使用
12 pod search xxx
终端执行 pod search cocoapodTest就可以找到了,
如果没有找到 pod setup再试一下
搜索到自己制作的库啦
如果多人维护pod 可以添加其他维护者:pod trunk add-owner name xxx@xxx.com
整个制作pod库的流程就是这样,欢迎交流O(∩_∩)O哈哈~
附上一位兄弟的制作私有库教程 # iOS开发- 创建私有库发布CocoaPods及更新