大神笔记-学习IOSiOS 干货整理

让你的框架支持CocoaPods

2016-08-11  本文已影响258人  75afc06dcc73

我们经常通过CocoaPods管理并使用别人的开源框架,如果我们自己有比较好的框架想要支持CocoaPods提供给别人使用呢?


下面我一步一步带大家开源自己的框架


第一步

把自己的框架更新到github 上,为了提交地址给他人下载。


创建一个Github项目空间
Github1.png
完善Github项目信息
Github2.png
CopyGit地址
Github3.png
Clone到本地,打开Terminal(终端)
Github4.png
$cd 本地路径
$git clone git地址

上传项目到Github
首先确认Github文件夹内为完整项目,在Terminal中输入命令
$cd 项目路径
$git add .
$git commit -m"简单说明"
$git push

出现Checking connectivity... done.说明下载成功

第二步

// 进入到项目目录下
$cd 项目路径
//创建Podspec文件
$pod spec create 你的项目名字
此时你已经在项目目录下创建了一个Podspec文件了
这个时候我们需要对他进行编辑
注意:最好用xcode 去编辑 防止错误 只能输入英文标点
$Pod::Spec.new do |s|
$s.name = "项目名字"
$s.version ="版本号"
$s.summary = "项目简介"
$s.description      = <<-DESC
                  项目介绍,长度必须大于简介
                  MarkDown格式
                   DESC
$s.homepage = "你的主页地址"
$s.license = "MIT" //这里就选这个许可证
$s.author ={"你的名字" => "邮箱"}
$s.platform =iOS,"最低支持的系统"
$s.source ={git =>"项目git地址",:tag => s.version.to_s}
$s.source_files = "文件名", "文件目录层级/**/*.{h,m}" //这里是项目路径要传的文件
$s.framework ="UIKit" //依赖的系统库 可以依赖多个
$s.frameworks = 'SomeFramework', 'AnotherFramework'//设置多个系统库名称
// 若需要依赖其他开源的第三方库 可以写成下列形式 若需要有多个就复制下面代码 添加第三方库
$s.dependency "AFNetWorking"
$s.resources    = "资源文件"//添加资源文件
// 需要依赖系统的
$s.library = 'iconv'// 设置只依赖一个系统的
$s.libraries = 'iconv', 'xml2' // 设置依赖多个系统的library
$s.weak_framework = 'UserNotifications'//可选依赖
// 这里是工程配置,这样使用者就不需要手动处理,由pod自动处理了
$s.xcconfig = {'HEADER_SEARCH_PATHS' =>'$(SDKROOT)/usr/include/libxml2'}

然后我们设置下tag号 然后推送到git

$git add .
$git commit -m "说明"
$git tag 0.0.1 // tag 和上面你设定的一样 一般tag号和版本号一致
$git push --tags
$git push origin master

我们来验证下他是否符合要求。

$pod lib lint 项目名字.podspec --allow-warnings  --use-libraries

若我们看到

你的podspec名字 passed validation
说明这个配置文件是没问题的。

若失败了。

echo 3.0 > .swift-version

我们就需要将远程tag删除 重新来过

$git tag -d 版本号
$git push origin :refs/tags/版本号

在验证通过之后我们需要将代码提交到cocopods

$pod trunk push  你的podspec名字.podspec --allow-warnings 

如果没有出错 我们就需要测试一下。


搜索框架

$pod search  项目名

如果出现

[!] Unable to find a pod with name, author, summary, or descriptionmatching `项目名称`

执行

$pod setup

setup执行完成后,重新搜索框架步骤,如果搜索到框架就说明大功告成


本文参考@:慢热先生丶Cc--如何将自己的框架更新到cocopods上

上一篇 下一篇

猜你喜欢

热点阅读