最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Swift - CocoaPods的安装使用详解(自动安装管理第三方库)
时间:2022-06-25 23:34:23 编辑:袖梨 来源:一聚教程网
我们开发的时候,常常需要引入一些第三方库(比如:Alamofire、SwiftyJSON 等等)。过去的做法是把这些库下载下来,并引入到工程中。如果有依赖其他库的话,还要手动将这些依赖库给添加进来。关键是如果这些第三方库后面有更新的话,我们还要先把项目中原来的库给删除。再重复前面的步骤。这样就很麻烦了。
而使用 CocoaPods 以后,这些工作我们都不需要做。只需做好配置工作,安装更新这些第三方库,CocoaPods 都会自动帮我们做好。
一、CocoaPods介绍
(1)CocoaPods 是 ios 开发中的第三方库管理的工具。目的是让我们能自动化的、集中的、直观的管理第三方开源库。
(2)CocoaPods 能够自动解决库与库之间的依赖关系,下载库的源代码。并创建一个 Xcode 的 workspace 来将这些第三方库和我们的工程连接起来,供我们开发使用。
二、安装CocoaPods
1,将gem升级为最新版本
sudo gem update --system
2,运行如下命令安装CocoaPods
sudo gem install -n /usr/local/bin cocoapods
接着执行如下命令,如果没有报错,就说明一切安装成功了。(这个执行后要等上一段时间,Cocoapods 在将它的信息下载到 ~/.cocoapods 里。大概有100多兆。)
1
pod setup
3,安装后执行如下命令查看版本
pod --version
原文:Swift - CocoaPods的安装使用详解(自动安装管理第三方库)
4,以后要更新升级CocoaPods,执行如下命令
sudo gem update cocoapods
三、CocoaPods安装失败的原因和解决办法
1,执行install后一直没反应,无法安装
有时你会发现执行 install 命令后一直没有反应。这是因为 Ruby 的默认源使用的是 rubygems.org。由于国内网络原因,访问这上面的资源文件会间歇性连接失败。
(1)我们可以执行如下命令,将源改成使用淘宝提供的 rubygems.org 镜像
1
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
(2)接着执行下面命令,确保只有 ruby.taobao.org
gem sources -l
(3)最后再使用 install 就能成功安装 CocoaPods 了。
2,Ruby版本太低
如果本机 Ruby 的版本过低也可能导致安装失败。
(1)安装 rvm(rvm 可以让我们拥有多个版本的 Ruby,并且可以在多个版本之间自由切换。)
1
2
curl -L get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
(2)完毕后执行如下命令,如果出现版本号则说明 rvm 安装成功。
rvm -v
(3)执行 rvm list known 命令可以列出所有 ruby 可安装的版本信息。
(4)我们安装一个 ruby 版本
rvm install 2.2.4
(5)并将其设置为默认版本。这时我们应该就可以正常安装 CocoaPods 了。
1
rvm use 2.2.4 --default
(6)使用 rvm list 命令可以查看已安装的 ruby
(7)如果要卸载一个已安装 ruby 版本,执行如下命令。
rvm remove 2.1.4
四、CocoaPods的使用
下面我们创建一个工程项目(假设工程名是 hangge_1358),演示如果使用 CocoaPods 自动下载、导入、配置第三方库。
1,创建Podfile
首先进入到工程的根目录下,创建空白的Podfile 文件。
cd /Users/hangge/Documents/Code/hangge_1358
touch Podfile
原文:Swift - CocoaPods的安装使用详解(自动安装管理第三方库)
2,编辑Podfile
我们在 Podfile 文件中写上需要引入的第三方库,这里以 Alamofire、SwiftyJSON 这两个库为例。
platform :ios, '8.0'
use_frameworks!
target 'hangge_1358’ do
pod 'Alamofire'
pod 'SwiftyJSON'
end
3,开始导入库
(1)执行下面命令,开始导入前面配置的第三方库。
cd /Users/hangge/Documents/Code/hangge_1358
pod install
(2)执行成功后。看到工程根目录下多了三个新文件:hangge_1358.xcworkspace、Podfile.lock 文件、Pods 目录。
原文:Swift - CocoaPods的安装使用详解(自动安装管理第三方库)
4,打开新生成的hangge_1358.xcworkspace
(1)往后我们就需要使用这个新生成的 hangge_1358.xcworkspace 文件来开发。因为原来的工程(hangge_1358.xcodeproj)设置已经被更改了,如果我们直接打开原来的工程文件去编译就会报错。
(2)打开后可以看到里面除了我们项目工程,还有一个 Pods 工程。整个结构还是很清晰明了的。
原文:Swift - CocoaPods的安装使用详解(自动安装管理第三方库)
5,测试代码
开发时,我们只需要在使用的时候 import 一下需要的库就可以了。
import UIKit
import Alamofire
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request(.GET, "")
.responseString { response in
print("Success: (response.result.isSuccess)")
print("Response String: (response.result.value)")
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
6,新增或移除第三方库
以后如果需要在工程中导入新库,或者移除原有的库。还是先编辑 Podfile 文件,再执行 install 命令。
pod install
7,更新第三方库
如果引用的库没有改变,只是想要将这些库更新到最新版本,则执行 update 命令。
pod update
五、导入Objective-C写的第三方库
上面的样例我们是创建工 Swift 工程,并导入 Swift 语言写的第三方库。如果想要在 Swift 工程中引入 OC 写的第三方库,操作也是一样的。而且我们项目中不需要像过去一样创建桥接头文件,把Objective-C头文件引用进来。
这里以 OC 写的图片缓存库:SDWebImage 为例说明。
platform :ios, ‘8.0’
use_frameworks!
target 'hangge_1358’ do
pod 'Alamofire'
pod 'SwiftyJSON'
pod 'SDWebImage'
end
2,执行安装命令
pod install
3,代码中直接将SDWebImage库import就能使用
import UIKit
import SDWebImage
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let imageView = UIImageView()
imageView.frame=CGRectMake(10,10,130,27.5)
let url = NSURL(string: "/blog/images/logo.png")
imageView.sd_setImageWithURL(url)
self.view.addSubview(imageView)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22