第三周:Cocoapods和一些常用的第三方框架

起点

Cocoapods

介绍

开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等。手动一个个去下载所需类库十分麻烦,另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,同样也特别麻烦。 CocoaPods应该是iOS最常用最有名的类库管理工具了,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。

下载和安装

在安装CocoaPods之前,首先要在本地安装好Ruby环境。如果你使用的是Mac OS X,那么Ruby运行环境是自带的,你可以打开终端输入以下指令查看Ruby的版本。

1
ruby -v

在Ruby环境正确安装的情况下安装Cocoapods也将十分简单。 在终端中输入指令:

1
sudo gem install cocoapods

如果输入指令后发现速度非常慢,别着急,在国内这是正常的(原因也都知道)。这时候可以使用淘宝的Ruby镜像访问Cocoapods,先使用下面的指令查看Ruby镜像

1
gem sources -l

如果出现

1
2
*** CURRENT SOURCES ***
https://rubygems.org/

那么需要更换成淘宝的镜像,如果出现

1
2
*** CURRENT SOURCES ***
https://ruby.taobao.org/

那么就不需要更换Ruby镜像了。

更换Ruby镜像使用下面的指令:

1
2
3
gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
gem sources -a https://ruby.taobao.org/

更换完成之后再次验证你的Ruby镜像是且仅是taobao

1
gem sources -l

只有在终端中出现下面文字才表明你上面的命令是成功的:

1
2
*** CURRENT SOURCES ***
https://ruby.taobao.org/
  • 这时候再次在终端运行:
1
sudo gem install cocoapods

不出问题,等上1分钟左右,Cocoapods就可以在本地下载并安装好了,不在需要其他设置。如果中途出现错误,可自行百度或者Google,都能很快的解决问题,这里就不一一列举了。

使用Cocoapods

常用指令

使用Cocoapods搜索类库,以下使用AFNetworking为例。

1
pod search AFNetworking

等待几秒后,终端会看到关于AFNetworking类库的一些信息。
其他的一些指令可以使用pod --help查看。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
+ cache Manipulate the CocoaPods cache
+ deintegrate Deintegrate CocoaPods from your project
+ env Display pod environment
+ init Generate a Podfile for the current directory
+ install Install project dependencies according to versions from a
Podfile.lock
+ ipc Inter-process communication
+ lib Develop pods
+ list List pods
+ outdated Show outdated project dependencies
+ plugins Show available CocoaPods plugins
+ repo Manage spec-repositories
+ search Search for pods
+ setup Setup the CocoaPods environment
+ spec Manage pod specs
+ trunk Interact with the CocoaPods API (e.g. publishing new specs)
+ try Try a Pod!
+ update Update outdated project dependencies and create new
Podfile.lock
运用到具体的项目中

在文件根目录新建文件命名为Podfile不要有后缀,使用Xcode打开或者使用其他编辑器(不要使用自带的文本编辑)打开并编辑:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
source 'https://github.com/CocoaPods/Specs.git'
platform:ios,'8.0'
use_frameworks!
# ignore all warnings from all pods
inhibit_all_warnings!
def pods
#Swift
pod 'Alamofire', '~> 4.0'
#Objective-C
pod 'AFNetworking', '~> 3.1.0'
end
target '你的项目名称' do
pods
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'YES'
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end

保存完成后打开终端,使用终端进入项目根目录,执行指令

1
pod install

不出现错误的情况下第三方框架就已经加载到你的项目中了。

如果在使用pod install卡住时,可使用指令pod install --verbose --no-repo-update或者pod update

常用开源第三方

图片请求和缓存
数据解析
网络请求
  • [Alamofire]: Alamofire是AFNetworking的作者mattt新写的网络请求的swift库。
数据库缓存
  • [realm-cocoa]:一个号称要代替Core Data & SQLite的用于移动端的数据库,非常不错👍👍👍 ,同时支持Objective-C.
  • [SQLite.swift]:纯swift实现的类型安全的SQLite3封装,数据存储和JSON解析是永恒的话题。
下拉刷新
图表
  • [Charts]:一款优秀的图表开源库 MPAndroidChart 的 Swift 语言实现版(支持 Objective-C 和 Swift 调用)。
  • [SpreadsheetView]:很棒的电子表格库. 可以完全配置的电子表格View,使用此库你能很容易的创建出复杂布局的表格,比如时间表、甘特图、课程表,就像你使用Excel一样
  • [ScrollableGraphView]:灵动感十足的自适应、可定制滚动曲(折)线图表库
类别

Swift第三方开源整理