iOS中 如何将自己的框架更新到cocopods上 韩俊强的博客
2016-06-28 20:39
651 查看
每日更新关注:http://weibo.com/hanjunqiang
新浪微博!为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods 供他人参考呢?
下面我一步一步带大家开源自己的框架。
这里就不详细介绍如何把项目更新到
我们需要给本地的项目新建一个
此时你已经在项目目录下创建了一个Podspec文件了
这个时候我们需要对他进行编辑
注意:最好用xcode 去编辑 防止错误 只能输入英文标点
每日更新关注:http://weibo.com/hanjunqiang 新浪微博!然后我们设置下tag号 然后推送到git
我们来验证下他是否符合要求。
若我们看
“你的podspec名字” passed validation
说明这个配置文件是没问题的。
若失败了。
我们就需要将远程tag删除 重新来过
解决方法:
解决方法:将最后提交的开源框架的类的提交码在 xx.podspec 中改成这种:
commit来自最后一次提交:在github上可以看提交记录后面的加密码:
git log: 也可以在终端查看
完美解决!如下:
遇到问题请咨询:
每日更新关注:http://weibo.com/hanjunqiang 新浪微博!
QQ群:446310206
下面我一步一步带大家开源自己的框架。
第一步
把自己的框架更新到github上,为了提交地址给他人下载。
这里就不详细介绍如何把项目更新到
github上了
第二步
这个时候我们的项目已经挂在github上了
我们需要给本地的项目新建一个
Podspec描述文件
// 进入到项目目录下 cd xxx/xxx/xxx // 创建Podspec文件 pod spec create “你的Podspec名字”
此时你已经在项目目录下创建了一个Podspec文件了
这个时候我们需要对他进行编辑
注意:最好用xcode 去编辑 防止错误 只能输入英文标点
Pod::Spec.new do |s| s.name = “项目名字” 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'}
每日更新关注:http://weibo.com/hanjunqiang 新浪微博!然后我们设置下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
若我们看
“你的podspec名字” passed validation
说明这个配置文件是没问题的。
若失败了。
我们就需要将远程tag删除 重新来过
删除tag //查看tag git tag //删除一个指定的tag,并上传一个空tag到远程tag git tag -d <tagname> git push origin :refs/tags/你的tag号
在验证通过之后我们需要将代码提交到cocopods pod trunk push "你的podspec名字".podspec --allow-warnings 如果没有出错 我们就算大功告成了。 通过pod search "项目名"去搜索你的第三方库吧。。每日更新关注:http://weibo.com/hanjunqiang 新浪微博!总结常见错误:
问题:这种错误怎么办?
- ERROR | [iOS] The `source_files` pattern did not match any file.查了一些资料:
每日更新关注:http://weibo.com/hanjunqiang 新浪微博!
解决方法:
解决方法:将最后提交的开源框架的类的提交码在 xx.podspec 中改成这种:
s.source = { :git => "https://github.com/XiaoHanGe/GCTools.git", :commit => "f705f8841d569b23cb5910dda8ee1e75659ddb9f" } s.source_files = "GCTools/*.{h,m}"
commit来自最后一次提交:在github上可以看提交记录后面的加密码:
git log: 也可以在终端查看
完美解决!如下:
遇到问题请咨询:
每日更新关注:http://weibo.com/hanjunqiang 新浪微博!
QQ群:446310206
相关文章推荐
- 深入理解 KVC\KVO 实现机制 — KVC
- iOS开发 - 第03篇 - 多线程 - 01 - 多线程基础
- 解决Firemonkey TWebBrowser在IOS9中不工作的问题
- iOS中runtime(运行时)的简单介绍与应用
- iOS设计模式(四) 单例模式
- iOS 角度与弧度的转换
- 【问题】Unable to determine memory usage
- iOS Xcode项目在SVN更新后无法打开解决办法
- ios 常用公共方法
- iOS基本理解
- iOS开发:环信集成步骤以及常见错误
- iOS开发中常用字符串验证处理操作
- iOS中self.xxx 和 _xxx 下划线的区别
- iOS 使用AFN 进行单图和多图上传 摄像头/相册获取图片,压缩图片
- iOS 键盘处理
- iOS 应用沙盒目录的常见获取方式
- iOS 图片模糊效果三种实现方式
- iOS开发69-iOS 使用Xcode Instrument检测内存泄漏
- iOS dispatch_group_t
- iOS调用动态库运行报错dyld: Library not loaded