创建podspec文件,为自己的项目添加pod支持

创建GitHub项目

创建GitHub仓库

使用GitHub账户新建库,勾选下面许可证选项


创建podspec文件,为自己的项目添加pod支持_第1张图片
image

clone到本地

创建完后clone到本地,在clone下来的文件里面新建工程,自己的组件放到单独的文件夹。
也可以在已有的工程根目录下创建许可证文件(LICENSE)。

提交项目到GitHub

确保demo没问题后提交到GitHub

$ git push origin master

发布到CocoaPods

注册trunk

$ pod trunk register [email protected] 'leap’    #注册,会发带验证链接的邮件到邮箱地址,名称无法修改
$ pod trunk me    #可查询注册信息。

命令执行完后邮箱会收到带有验证链接的邮件,打开链接就能完成trunk注册流程。

生成podspec文件

$ pod spec create 组件名

会在当前目录下生成.podspec文件,里面有非常多的注释,大部分都是无用的。建议删除内容,直接使用其它成功提交的podspec文件修改。

Pod::Spec.new do |s|
  s.name         = "LPSwipeNavigationController"
  s.version      = "1.0.1"
  s.summary      = "ARC and GCD Compatible LPSwipeNavigationController Class for iOS"
  s.license      = "MIT"
  s.homepage     = "https://github.com/leapCoding/LPSwipeNavigationController"
  s.author             = { "LeapDev" => "[email protected]" }
  s.platform     = :ios, "7.0"
  s.source       = { :git => "https://github.com/leapCoding/LPSwipeNavigationController.git", :tag => "#{s.version}" }
  s.source_files  = 'LPSwipeNavigationController.h', 'LPSwipeNavigationController.m'
end

接下来讲解一下每行代码的含义
s.name 名称
pod search 搜索的关键词,注意这里一定要和.podspec的名称一样,否则报错
s.version 版本号
s.ios.deployment_target:支持的pod最低版本
s.summary: 简介
s.homepage:项目主页地址
s.license:许可证
s.author:作者
s.social_media_url:社交网址,这里我写的微博默认是Twitter,如果你写Twitter的话,你的podspec发布成功后会@你
s.source:项目的地址
s.source_files:需要包含的源文件
s.resources: 资源文件
s.requires_arc: 是否支持ARC
s.dependency:依赖库,不能依赖未发布的库
s.license说明
s.license= { :type => "MIT", :file => "LICENSE" }
这里建议大家这样写,如果写别的会报警告,导致后面一直提交失败,这里军哥已经跳了很多坑
source_files说明
写法及含义建议大家写第一种或者第二种

"LPSwipeNavigationController/*

""LPSwipeNavigationController/LPSwipeNavigationController/*.{h,m}"

"LPSwipeNavigationController/**/*.h"

“” 表示匹配所有文件
“.{h,m}” 表示匹配所有以.h和.m结尾的文件
“**” 表示匹配所有子目录

验证.podspec文件

// --verbose 如果验证失败会报错误信息

pod spec lint LPSwipeNavigationController.podspec --verbose

打tag

$ git tag 1.0.0     #给源代码打版本标签,与podspec文件中version一致即可
$ git push --tag

更新GitHub仓库

提交修改到GitHub

发布到CocoaPods

$ pod trunk push LPSwipeNavigationController.podspec

发布成功后最后验证一下

$ pod search LPSwipeNavigationController

到此已全部完成

你可能感兴趣的:(创建podspec文件,为自己的项目添加pod支持)