最近在研究组件化开发这个东东,发现许多公司组件化开发都是用的 cocoapods 来做管理,那么就研究一下 cocoapods 来托管自己的代码。参考了多方文章,踩坑许久终于成功了,现在整理一下~
大致流程如下:
【一】新建 github 项目并与本地项目关联
【二】创建podspec文件
1. 了解 podspec
2. 配置 podspec
【三】新建版本,注册 cocoapods
【四】上传{project}.podspec到CocoaPods官方仓库
详细流程:
【一】新建 github 项目并与本地项目关联
1.注册一个 github账号(有账号的可以忽略~)
2.如图1 点击 new repository 在add lisence选择MITlicense
3.生成后的工程 下载到你的本地
地址就是地址栏的地址
4.创建一个本地项目 在你github 项目关联的地址下
楼主是用的 xcode 创建的一个叫PodDemo 的项目
随便新建几个文件
创建 README.md 可以参考下面文章
创建README.md文件
博主用的是 git 命令来关联工程的,关于 git 命令是用可以学习
Git教程
【二】创建podspec文件
1.进入目录
cd 工程路径(这里指的是和你的 README.md 同级)
2.新建Podspec文件
pod spec create 文件名称
出现这个的时候就是成功了
3.打开这个文件
可以用多种方式打开,博主这边是用的是 vim 编辑器
输入如下命令
vi FJObject.podspec
打开以后会发现很多很多内容,可以学习下这篇博客
http://www.jianshu.com/p/a72a529dc659
推荐修改里面内容如下
Pod::Spec.new do |s|
s.name = "HcdCachePlayer"
s.version = "0.0.1"
s.summary = "pod测试"
s.description = <<-DESC
我是一个 pod 测试的 demo
DESC
s.homepage = "https://github.com/Jvaeyhcd/HcdCachePlayer"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "fujia" => "aaa@qq.com" }
s.platform = :ios, '7.0'
s.source = { :git => "https://github.com/ButterflyDance/PodTest.git", :tag => s.version.to_s }
s.source_files = "hcdCachePlayer/**/*.{h,m}"
s.resource = "hcdCachePlayer/hcdCachePlayer.bundle"
s.frameworks = "UIKit", "AVFoundation", , "Foundation"
s.requires_arc = true
s.dependency "Masonry"
end
按下“esc” 输入“:wq”(保存并退出)
执行如下命令 查看是否编译通过
pod lib lint FJObject.podspec
如果有警告可以忽略 并使用如下命令执行
pod lib lint FJObject.podspec —allow-warnings
如果有报错可以通过
http://www.jianshu.com/p/283584683b0b
http://www.jianshu.com/p/b9a28b6ab1e1
这两篇文章查找问题
最后输出这个表示通过
【三】新建版本,注册 cocoapods
1.构建新 release 版本
注意: 这里的Tag verson 一定要和上面设置的s.version以及 s.source 中的 tag保持一致.
点击Public release 即可完成
2.注册cocopods 账号
打开终端 输入命令
// 邮箱 用户名 描述信息
pod trunk register aa@qq.com 'fujia' --description='Test1'
如果注册过 可以使用如下命令
pod trunk register eloy@example.com --description='Work Laptop'
pod trunk register eloy@example.com
随后可以去邮箱里面点击认证邮件
使用如下命令认证
pod trunk me
输出如下图则成功
【四】上传{project}.podspec到CocoaPods官方仓库
1.输入如下命令检查是否可用
pod spec lint
如果有警告可以使用如下命令忽略全部警告
pod spec lint —allow-warnings
2.上传代码
pod trunk push FJObject.podspec
等待一会会看到如下图所示
可以使用
pod search LZTool
搜索自己的项目
如果现实查找不到可以使用
pod setup
更新自己 cocopods 库
也可以使用新工程下载 pod 代码
总结:一路上遇到很多很多的坑,这个时候需要静下心来好好学习,查阅资料,总结经验,不断提升自己,千万不要轻言放弃。
【参考文章】
[Cocoapods]使用Cocoapods托管代码
[Cocoapods]项目添加Cocoapods支持遇到的坑
CocoaPods的制作过程
Github代码添加Cocoapods支持