BEGAN
之前一直用大神们的写好的轮子,哇塞,直接 cocoapod 就引进项目里面了,觉得好厉害,很羡慕,想着自己什么时候也能发一个轮子让大家也用用,不说做什么了,都不知道怎么上传项目至 cocoapods 里面。
自己查找了很多资料,终于传上了第一个轮子,废话不多说,分以下几步,上操作~
1.本地代码
2.上传到 Github托管
3.添加 CocoaPods 依赖库
前两步的操作可以参见我上边写的,链接以下:上传到 Github托管。
我们直接从第三步开始:
1、我们在上传代码到 github 成功过后要给代码打 tag
// 例如
$ git tag '1.0.0'
$ git push --tags
2、注册trunk:(如果我们之前没有注册的话,需要注册一个)
// 查看自己之前有没有注册过 trunk
$ pod trunk me
如果已经注册过会是以下样式。
未注册的用户需要执行以下几步:
$sudo gem install cocoapods
// 账号邮箱是自己的 Github 账号和用户名
$pod trunk register xy@dtb@163.com 'VansXY' --verbose
// 查看自己是否注册成功
$pod trunk me
3、配置自己的podspec文件
(1)打开项目文件夹
$cd Desktop/XYCategoryDemo/
(2)创建podspec文件
$ pod spec create XYCategoryDemo
这时项目中会生成一个XYCategoryDemo.podspec文件 用XCode 打开(或者下载一个 sublime Text
(3)根据自己的信息 ,进行编辑XYCategoryDemo.podspec文件
// 提供的模板
Pod::Spec.new do |s|
s.name = "XYCategoryDemo"
s.version = "0.0.2"
s.summary = "A short description of XYCategoryDemo."
s.description = "XYCategoryDemo is very easy"
s.homepage = "https://github.com/VansXY/XYCategoryDemo.git"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "肖扬" => "xy_dtb@163.com" }
s.source = { :git => "https://github.com/VansXY/XYCategoryDemo.git", :tag => "#{s.version}" }
s.platform = :ios, "8.0"
s.source_files = "XYCategoryDemo/XYCategory/*"
#s.exclude_files = "Classes/Exclude"
s.framework = "UIKit"
s.requires_arc = true
参数的注释:
name: 导入pod后的目录名
version: 当前版本号
deployment_target: 配置的target
prefix_header_file: 预编译头文件路径,将该文件的内容插入到Pod的pch文件内
source: 来源的具体路径,是http链接还是本地路径 requires_arc: 是否需要arc
source_files: 指定该目录下包含哪些文件 其他可选参数还包括: dependency: 指定依赖,如果依赖的库不存在或者依赖库的版本不符合要求将会报错
libraries: 指定导入的库,比如sqlite3
frameworks: 指定导入的framework
weak_frameworks: 弱链接,比如说一个项目同时兼容iOS6和iOS7,但某一个framework只在iOS7上有,这时候如果用强链接,那么在iOS7上运行就会crash,使用weak_frameworks可以避免这种情况。
通配符说明:
a{bb,bc}def.{h,m}表示四个文件abbdef.h abbdef.m abcdef.h abcdef.m
*.{h,m,mm}表示所有的.h .m .mm文件Class/**/*.{h,m}表示Class目录下的所有.h .m文件
4、调试下podspec配置文件是否有错误
$ pod lib lint --allow-warnings // 验证是否有合格
出现错误,可以根据错误修改下~没有一次成功的。
5、提交 podspec 到 cocoapod 库
# pod repo push [repo仓名] [podspec文件名]
$ pod repo push xxx xxx.podspec
完成之后这个私有库就添加到我们的私有Spec Repo中,可以进入到~/.cocoapods/repos目录下查看
6、最后一步 trunk提交就可以了
# 提交podspec文件到trunkpod trunk push NNATree.podspec
pod trunk push --allow-warnings
成功了!
pod search xxx 可能需要等一会才能搜到 或者运行 pod setup试试(CocoaPod 官方会审核,审核通过后会搜索到,不要急~)
END