让自己的开源框架支持cocoapods
2017-01-21 本文已影响13人
MrZhaoCn
有时候我们写了一个框架想让别人使用该怎么办呢?下面就详细说明步骤
- 在github上创建一个仓库,注意创建时勾选license选项
- 将你的代码上传到github上面,这前一篇文章有说明。在上传代码之前要给代码打上一个tag 因为后面会用到
- 在项目的根目录下 执行 pod spec create ZCRefresh //create后面是你创建的文件名,执行该命令后,在项目的根目录下会出现一个.Podspec文件文件
- 进入该文件,可以使用vim ZCRefresh.Podspec 或者使用xcode 打开。
- 编辑文件内容如下
Pod::Spec.new do |s|
s.name = "ZCRefresh" //文件的名字
s.version = "1.02" //版本号:这个可以跟之前上传到github上打得tag一个版本
s.summary = "A Refresh for iOS platform" //一个描述,可以随便写
s.homepage = "https://github.com/MrZhaoCn/Refresh" //github代码仓库地址
s.license = "MIT" //注意在创建github仓库时要选中license不然后面再检测时会出现 警告
s.author = { "MrZhao" => "861127175@qq.com" } //这个不用多解释,大家肯定能看懂
s.platform = :ios, "7.0"
// 这个是关键,进入github时选择下载时会看到一个网址,复制进来,这个tag就是你上传到github时打上的标记
s.source = { :Git => "https://github.com/MrZhaoCn/ZCRefresh.git}
//这个是你的框架文件夹,我的框架在文件夹ZCRefresh下,最好是你的框架在项目的根目录下。
s.source_files = "ZCRefresh//.{h,m}"
20160630191301227.png
s.resources = "ZCRefresh/images/.png" //资源
我的框架资源结构如下
20160630191613024.png
s.requires_arc = true //这个是说明你的框架是否要求arc环境,根据你的框架来写
end
下面是完整的文件内容
Pod::Spec.new do |s|
s.name = "ZCRefresh"
s.version = "1.02"
s.summary = "A Refresh for ios platform"
s.homepage = "https://github.com/MrZhaoCn/Refresh"
s.license = "MIT"
s.author = { "MrZhao" => "861127175@qq.com" }
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com/MrZhaoCn/ZCRefresh.git", :tag => "1.02" }
s.source_files = "ZCRefresh/**/*.{h,m}"
s.resources = "ZCRefresh/images/*.png"
s.requires_arc = true
end
6 . 通过第五步你的文件就编辑好了,此时可以验证一下是否有错误
pod spec lint PodName.podspec //后面改成你的文件名
7.如果验证通过 就可以提交了 先注册一下pod trunk register 861127175@qq.com 'MrZhao' --description='macbook air'
,把邮箱跟名字换成你的即可,注册后会收到邮件点进去验证即可。
8.在工程根目录(包含有.podspec)下执行命令:pod trunk push
至此你的框架就支持cocoapods了,如果提交出现错误根据错误提示信息做相应的更改即可。