让自己的开源框架支持cocoapods

时间:2022-10-21 09:38:05

有时候我们写了一个框架想让别人使用该怎么办呢?下面就详细说明步骤

1. 在github上创建一个仓库,注意创建时勾选license选项

2. 将你的代码上传到github上面,这前一篇文章有说明。在上传代码之前要给代码打上一个tag 因为后面会用到

3. 在项目的根目录下 执行  pod spec create ZCRefresh //create后面是你创建的文件名,执行该命令后,在项目的根目录下会出现一个.Podspec文件文件

4. 进入该文件,可以使用vim ZCRefresh 或者使用xcode 打开。

5. 编辑文件内容如下

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上仓库网址

让自己的开源框架支持cocoapods

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", :tag => "1.02" }

让自己的开源框架支持cocoapods

//这个是你的框架文件夹,

s.source_files  = "ZCRefresh/**/*.{h,m}"  

让自己的开源框架支持cocoapods

我的框架在文件夹ZCRefresh下,最好是你的框架在项目的根目录下。


//框架依赖的资源,这个也必须指定,不然如果你代码需要的资源可能如法pod 到你的工程里面

s.resources = "ZCRefresh/images/*.png"

我的框架资源结构如下

让自己的开源框架支持cocoapods

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了,如果提交出现错误根据错误提示信息做相应的更改即可。