管理第三方库(CocoaPods)

管理第三方库(CocoaPods)

最近在学习AutoLayout , 大家都知道 AutoLayout 原生的代码约束语句比较长 ,以前oc的时候,大家都回使用 Masonry 这个开源库,来大大简化代码量,而且易于理解。现在用swift了,就有些大牛用swift 实现了类似的库,叫SnapKit ,然后我就想把它导入我的项目中用 。

我刚开始是将它下载下来,各种报错呀。最后发现我下的是dev 那个分支branch上的 , 换成master 后还是不行。 我xcode 7 用得时swift 2.0 master上面还是老版本的语法,最后发现有个branch叫 swift-2.0 下载下来后 ,变异OK。没有问题了。用一种比较笨得方法导入我的项目 找到下载的库 ,然后我们在,右击我们的项目add files to “xxxx” 把这里SnapKit.xcodeproj 添加进来 。 然后在targets里面的Embedded Binaries将这个库导入就可以了

最后在使用的地方import SnapKit ,就可以了。然后昨天就这么开心的用着, 今天突然发现还有CocoaPods这个东西 , 这个东西是用来管理第三方库的,相当于java中的maven 。

当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库。这种情况下自己来管理 真心很烦的 , 而且如果你的项目需要很多第三方库呢。所以我觉得必须用CocoaPods ,当然现在好像还有别的优秀的第三方库管理 ,但是CocoaPods 无疑是用得最多的。下面看下他得基本用法

在安装CocoaPods之前,,首先要在本地安装好Ruby环境。然而MAC上自带ruby 。

sudo gem install cocoapods

这个速度会很慢,一般都用淘宝的Ruby镜像来访问cocoapods。所以这块应该切换成淘宝的

gem sources –remove https://rubygems.org/gem sources -a http://ruby.taobao.org/gem sources -l

先移除原来的 , 然后添加淘宝的 , 最后查看当前的

这时候,再次输入

sudo gem install cocoapods

等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。

因为gitcafe和oschina都是国内的服务器,所以在执行索引更新操作时,会快很多。如下操作可以将CocoaPods设置成使用gitcafe镜像:

pod repo remove masterpod repo add master https://gitcafe.com/akuandev/Specs.gitpod repo update

将以上代码中的 https://gitcafe.com/akuandev/Specs.git 替换成 即可使用oschina上的镜像。

可以通过pod search命令进行查找库 ,比如这里我们查找我们的SnapKit

pod search SnapKit-> SnapKit (0.13.0) Harness the power of auto layout with a simplified, chainable, and compile time safe syntax. pod ‘SnapKit’, ‘~> 0.13.0’ – Homepage: https://github.com/SnapKit/SnapKit – Source: https://github.com/SnapKit/SnapKit.git – Versions: , [master repo]

这里可以看到SnapKit是支持CocoPods的 , 有四个版本,最新的是0.13.0 ,这些都是master分支上得 。

然后在需要引入这些库的项目目录下新建一个文件 ,命名为Podfile ,这个名称是固定的 将下面格式的信息写进Podfile 文件

platform:ios,’8.3’pod ‘Alamofire’, ‘~> 1.3.1’pod ‘SnapKit’, ‘~> 0.13.0’

第一行是支持的最大ios版本 ,下面两行表示我引入的库, 可以为多行 。 然后执行pod install –verbose –no-repo-update ,以前是pod install ,这个好像被墙了 如果成功的话项目下面会多一个.xcworkspace 的文件 ,用xcode打开这个文件 ,不要用以前的.xcodeproj 这样就依赖好了 。但是这两个都不是swift2.0的,所以暂时只能在xcode 6 上用 。。 目前还不知道怎么pod 其他branch的库, 只能用master的。等swift 2.0 普及了吧估计都回升级了 。

这里会报一个错误 说你那个库是beat版本的 , 要添加use_frameworks! 你把这个添加到Podfile最后面就行了

platform:ios,’8.3’pod ‘Alamofire’, ‘~> 1.3.1’pod ‘SnapKit’, ‘~> 0.13.0’use_frameworks!

更详细的请跳转:唐巧的用CocoaPods做iOS程序的依赖管理

有的旅行时为了寻找逝去的年华,重温青春的惆怅。

管理第三方库(CocoaPods)

相关文章:

你感兴趣的文章:

标签云: