原创 2017-05-09
ios
关键点:git
- Cocoapods安装及基本用法
- Cocoapods注册Trunk
- 部署一个开源的pod
- 建立本身的私有的pod
因为要适应某些业务的快速变化,现目前须要进行组件化开发,其实这是一个很好的改变,关于如何进行组件化开发、如何将基础组件业务组件进行剥离开来、如何使用Mediator模式进行业务间相互通讯相互调用等,在后续进行深刻分析及实践以后再来讨论,这里就先从最原始 工具
提及。(顺便说一下:既然须要有一个比较大的改变,也有这个机会来实践,那就索性从Objective-C过分到Swift来进行开发吧!)。
Cocoapods相信你使用第三方框架是常用到的,这是一个很好用的iOS管理依赖工具,它既可让你很方便的使用第三方库,也容许你将本身项目中的组件交由它进行管理。下面就来讲一说如何使用cocoapods管理工具:github
Cocoapods安装方式有两种能够直接经过官网下载.app进行安装,不过我比较喜欢命令行安装(须要依赖ruby环境,Mac都搭建好了ruby环境,这个咱们不须要去关心):shell
$ sudo gem install cocoapods
可能你在上述安装过程当中会失败,那多是由于网络的缘由,如今咱们来替换一下Ruby镜像:json
// 删除原有的镜像源 $ gem sources --remove https://rubygems.org/ // 添加国内最新的镜像源(由于以前淘宝的那个好像不更新了) $ gem source -a https://gems.ruby-china.org/ // 接着执行 $ gem sources -l // 若是出现 > *** CURRENT SOURCES *** > > https://gems.ruby-china.org/ // 说明成功了,如今再来执行安装便可 $ sudo gem install cocoapods
Cocoapods提供了不少功能,可是咱们日常使用的无外乎根据项目须要建立本身的Podfile、安装Pod、更新Podswift
// 建立一个本身的Podfile,首先你必须进入到你项目所在的文件夹下面,而后执行 $ pod init // 经过vi查看并编辑你的Podfile(根据你的须要添加第三方库) $ vi Podfile
// 保存Podfile以后,执行安装 $ pod install // 有时候你可能会须要使用到 $ pod update
tips:何时使用pod install 何时使用pod update呢,我相信大多数人比较疑惑ruby
- pod install: 当你在工程中须要安装新的pods时。即便你已经有了一个Podfile而且以前已经执行了pod install;或者说你须要从你的工程中添加/移除一个pods
- pod update: 仅仅当你想要更新一个新版本的pods
至此你已经掌握了Cocoapods最简单的使用方法了,更多关于Cocoapods的使用能够至官网Guides 或者经过pod --help
来查看使用方法。 接下来就来说讲如何建立发布本身的Spec,首先你须要注册一个帐号:服务器
在你想建立一个本身私有库或者发布一个共有的pods以前,你须要有一个Cocoapods Trunk:网络
$ pod trunk register [Your-Email] '[Your-Name]' --description='[Your-Desc]' > [Your-Email]: 任意邮件,可是我比较推荐你使用github上的Email > [Your-Name]: 推荐使用github上使用的Name > [Your-Desc]: 一个简单的描述,每每这个时候咱们使用的是本身电脑的一个描述 // 好比我本身注册了一个 $ pod trunk register wangcccong@foxmail.com 'ApterKing' --description='wangcong Mac Pro 13' // 注册完成后,你能够经过[pod trunk me]查看信息 $ pod trunk me
若是你是一个非git版本控制使用的开发者,那么在你部署一个开源的library以前,我建议你看一看个人另外一篇Git基础,这里只须要用到比较简单的Git使用。app
$ git clone git@github.com:ApterKing/AKExtension.git // 完成以后进入到所在目录 $ cd ../AKExtension
$ pod spec create [NAME] > [NAME]: podspec 名称,通常与你在git上建立的repository相同 // 如: $ pod spec create AKExtension
// 我通常会先建立一个文件夹,用于放置个人{.h/.m/.swift Assets}等 $ mkdir Sources // 将你所需的文件拷贝至文件夹,以下就是这个pod的
// 添加全部文件 $ git add . // 提交 $ git commit -m "Initial AKExtension" // push到你的远程仓库 $ git push // 接下来就是须要使用到的一个Tag,这个在你的.podspec中须要配置 $ git tag -m "Initial Tag" 0.0.1 // 将tag添加至你的远程仓库 $ git push --tags
下面就是个人.podspec,固然你也能够根据以前生成的提示本身修改或者在github上搜索一个别人写好的.podspec就行修改
// 进入到.podspec所在目录 $ pod spec lint // 若是出现错误,须要修改到提示无误后方可执行下一步
$ pod trunk push [NAME].podspec
// 先更新一下repo $ pod repo update // 查找一下你提交的pod $ pod search 'AKExtension'
tips: 若是你在pod search没法找到你的pod,能够参照如下步骤:
- 执行 pod repo update 后从新pod search
或者:
- pod setup 而后删除 rm ~/Library/Caches/CocoaPods/search_index.json 再从新pod search
在上面一节你已经了解了如何部署一个共有的pod了,可是每每大多数时候你是不能部署一个共有的pod。好比你公司本身开发的基础组件代码、业务组件代码等,这个时候你就须要一个private pod了,下面就来简单说一说如何建立一个private pod。咱们仍是依托于git,毕竟这个代码之后须要与别人共同开发与维护,固然你也能够在本身的服务器上搭建,只要可以保证你所在的Team可以有访问权限就能够了。
$ pod repo add REPO_NAME SOURCE_URL > REPO_NAME: repo 名称 > SOURCE_URL: 指向的地址 //如 $ pod repo add AKSwifty git@git.oschina.net:wangcccong/AKSwifty.git
$ cd ~/.cocoapods/repos/AKSwifty $ pod repo lint .
相信你在上一章节已经了解了如何经过命令来建立.podspec了,这里咱们再次建立一个,可是咱们须要让它更有意义,请添加上你私有repo的名称,咱们首先在git.oschina.net 上建立一个私有仓库,好比咱们须要一个仪表盘(DashboardView)
建立好以后,按照上一章节的步骤,你须要将你的仓库clone到本地,添加须要的文件及资源等,设置tag,建立.podspec,修改.podspec
$ pod repo push AKSwifty AKSwifty+AKDashboardView.podspec
source 'https://git.oschina.net/wangcccong/AKSwifty.git' platform :ios, "9.0" target "XXX" do pod 'AKSwifty+AKDashboardView','~>0.0.1' end
关于cocoapod的介绍就到这里吧...