Swift全解析

文章26 |   阅读 13317 |   点赞0

来源:https://blog.csdn.net/u010586842/category_9264386.html

swift详解之二十一----------管理第三方库(CocoaPods)

x33g5p2x  于2022-03-08 转载在 其他  
字(2.2k)|赞(0)|评价(0)|浏览(645)

管理第三方库(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 master
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update

将以上代码中的 https://gitcafe.com/akuandev/Specs.git 替换成 http://git.oschina.net/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: 0.13.0, 0.12.0, 0.11.0, 0.10.0 [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程序的依赖管理

相关文章