将自己的框架更新到cocopods上
Posted BigBaHuang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将自己的框架更新到cocopods上相关的知识,希望对你有一定的参考价值。
为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods 供他人参考呢?
下面我一步一步带大家开源自己的框架。
第一步
把自己的框架更新到github
上,为了提交地址给他人下载。
这里就不详细介绍如何把项目更新到github
上了
第二步
这个时候我们的项目已经挂在github
上了
我们需要给本地的项目新建一个Podspec
描述文件
// 进入到项目目录下
cd xxx/xxx/xxx
// 创建Podspec文件
pod spec create “你的Podspec名字”
此时你已经在项目目录下创建了一个Podspec文件了
这个时候我们需要对他进行编辑
注意:最好用xcode 去编辑 防止错误 只能输入英文标点
你可能显示的版本为:
Pod::Spec.new do |s|
s.version ="版本号"
s.summary = "项目介绍"
s.homepage = "你的主页地址"
s.license = "MIT" //这里就选这个许可证
s.author ={"你的名字" => "邮箱"}
s.platform =ios,"最低支持的系统"
s.source ={git =>"项目git地址",tag =>"tag号"}
s.source_files = "text/*/.(h.m)" //这里是项目路径要传的文件
s.framework ="UIKit" //依赖的系统库 可以依赖多个
// 若需要依赖其他开源的第三方库 可以写成下列形式 若需要有多个就复制下面代码 添加第三方库
// s.dependency "AFNetWorking"
// 如果需要配置依赖系统库
// s.framework = \'SomeFramework\'// 设置依赖的系统库名称
// s.frameworks = \'SomeFramework\', \'AnotherFramework\'//设置多个系统库名称
// 需要依赖系统的library
s.library = \'iconv\'// 设置只依赖一个系统的library
s.libraries = \'iconv\', \'xml2\' // 设置依赖多个系统的library
// 这里是工程配置,这样使用者就不需要手动处理,由pod自动处理了
s.xcconfig = {\'HEADER_SEARCH_PATHS\' =>\'$(SDKROOT)/usr/include/libxml2\'}
Pod::Spec.new do |s|
s.name = "AlertGreenView"
s.version = "0.0.7"
s.summary = "用于项目中添加弹框自定义封装AlertGreenView."
s.homepage = "https://github.com/ZOYOOPlus/AlertGreenView"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "tangyuanby2" => "tangyuanby2@163.com" }
# s.social_media_url = "http://www.taby2.com/"
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com/ZOYOOPlus/AlertGreenView.git", :tag => "#{s.version}" }
s.source_files = "AlertGreen/**/*.{h,m}"
s.requires_arc = true
# s.dependency "JSONKit", "~> 1.4"
end
然后我们设置下tag号 然后推送到git
$ git commit -m "说明"
$ git tag 0.0.1 // tag 和上面你设定的一样 一般tag号和版本号一致
$ git push --tags
$ git push origin master
我们来验证下他是否符合要求。
pod lib lint "podspec名字".podspec --allow-warnings
错误的示范:版本问题 我设置为0.1 出错,按照要求应该是 三位 0.0.1 切记各位
若我们看
“你的podspec名字” passed validation
说明这个配置文件是没问题的。
若失败了。
我们就需要将远程tag删除 重新来过
git push origin :refs/tags/"上一次设置的tag号"
在验证通过之后我们需要将代码提交到cocopods
pod trunk push "你的podspec名字".podspec --allow-warnings
如果没有出错 我们就算大功告成了。
提示: 如果代码编译不通过 也会报错,所以记得检查代码
通过pod search "项目名"
去搜索你的第三方库吧。
将我们的gitHub仓库代码配置CocoPods支持的时候
执行最后一步命令:
pod trunk push 工程名.podspec
报错如下:[!] You need to register a session first.
解决方案命令如下:
pod trunk register 电子邮箱 \'您的姓名\' --description=\'macbook pro\'
结束战斗
最后需要等一段时间 然后就可以 查询 和 pod install 了
以上是关于将自己的框架更新到cocopods上的主要内容,如果未能解决你的问题,请参考以下文章