github上有很多优秀的国内外开源框架,各种语言的都有。不管是哪个阶段的程序员github一定是最常访问的网站没有之一。如何将自己写的框架通过pod发布到github(其实是将我们的框架推送到pod的服务器,github上是我们框架的源代码等信息)?
准备工作
- Xcode 需要正式版本,测试版本的IDE是无法发布的。
进入设置 Xcode -> Preferences -> locations 在Command Line Tools: 后选择本机安装的正式版Xcode
- 终端注册本机 允许本机可以通过pod 来发布框架(邮箱和名字换成自己的)
$ pod trunk register 505040542@qq.com “Wang Xiao Shuai”
-
终端提示验证邮箱
终端提示要去注册的邮箱验证 -
进入邮箱 拷贝https:// 的网址在浏览器打开
屏幕快照 2017-02-15 14.00.35.png -
页面提示 注册完成
到github 上创建我们的项目
- 创建项目
- 创建完成后,将项目下载到本地,或者直接用版本管理工具下载。以SourceTree 为例
开发框架
使用Xcode 在刚才的目录下(EZDrawer)创建自己的框架文件,实现功能。不在截图了。
发布框架
当我们的框架开发完成了,就要推送到pod 的服务器了,这样别可以通过pod 倒入我们写的框架。
- 终端输入命令,执行后我们本地的项目目录下会生产一个spec文件 用Xcode代开
Xcode 打开EZDrawer.spec$ pod spec create https://github.com/wangzhibiao/EZDrawer(项目的根目录)
- 编辑spec文件
Pod::Spec.new do |s|
s.name = "EZDrawer"
s.version = "0.0.1"
s.summary = "抽屉菜单"
s.homepage = "https://github.com/wangzhibiao/EZDrawer"
s.license = "MIT"
s.author = { "Wang Xiao Shuai" => "email@address.com" }
s.platform = :ios, "8.0"
s.source = { :git => "https://github.com/wangzhibiao/EZDrawer.git", :tag => s.version }
s.source_files = "EZDrawer", "EZDrawer/EZDrawer/Classes/*.{h,m}"
s.frameworks = "SDWebImage"
s.requires_arc = true
end
注意:
- tag : s.version 的作用是我们每次升级的时候,升高s.version 并对应创建标签。这样别人在pod 我们的框架等时候可以根据 版本号 来获取对应版本的框架
- s.source_files = "EZDrawer", "EZDrawer/EZDrawer/Classes/*.swift" 对应填写框架文件目录就可以OC对应{h,m} swift 对应.swift 也可以直接写 *
- s.frameworks = "SDWebImage" 是框架依赖的其他框架 多个用逗号隔开。我这里图省事使用的第三方图片缓存框架,以后是要摘除的。
验证spec 程序有警告 是无法通过编译的
这里只是验证编译是否有问题 不代表一定能使用
$ pod spec lint
可能遇到的问题:
- swift 版本问题 : 如果终端提示swift版本问题,那么根据终端的提示输入 echo "3.0" > .swift-version 即可
- iPhone 4s 模拟器问题 : 此问题网上有说要重新安装9.3点模拟器。但是只要更新 cocoapods 到最新版本就可以了。
推送到pod服务器
验证完毕后 可以推送到pod 服务器了
推送成功!$ pod trunk push
验证框架
验证还是要到程序中验证。可以建一个测试程序 用pod 来验证下是否好用。我是新手,但是比较顺利没有遇见问题。有错误或者任何问题欢迎指出谢谢!
网友评论