swift中第三方网络请求库Alamofire的安装与使用
swift中第三方网络请求库Alamofire的安装与使用
Alamofire是swift中一个比较流行的网络请求库:https://github.com/Alamofire/Alamofire。下面我们就介绍一个这个库的安装与使用。
一、安装包管理工具CocoaPods
由于国内容易被墙,速度也非常的慢,这里我们使用提供的源 http://ruby.taobao.org/
gem sources --remove https://rubygems.org/
gem sources –a http://ruby.taobao.org/
gem sources –l

先使用下面命令升级Ruby版本:
gem update --system
等待更新完成后。
然后通过gem命令来下载安装CocoaPods:
gem install cocoapods
安装完毕后调用下面命令,进行CocoaPods设置(可通过pod命令查看是否安装成功):
pod setup
执行完成上述命令后,表示安装成功!下面将讲述如何使用CocoaPods。
二、使用CocoaPods下载Alamofire库
我们首先创建一个swift 演示项目,命名为 demo,这时会生成一个项目文件 demo.xcodeproj
我们先看一下是否支持Alamofire三方库
pod search Alamofire
正常情况下,会输出一些有关三方库的信息,还有版本号。
下面重要的工作开始了。
创建一个 Pod 配置文件,文件名为 Podfile, 注意没有扩展名,对于 Podfile 文件的介绍参考:http://blog.haohtml.com/archives/16970。
内容如下:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target "demo" do
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => '3.4.0'
end
然后执行安装命令
pod install
成功安装后,会多出一个 demo.xcworkspace 的工程文件,以后我们再开发的话,就需要使用这个文件,弃用原来的demo.xcodeproj 文件了。
此时项目目录如下:

Pods文件夹中存放的就是下载好的第三方依赖库。
打开工程文件 demo.xcworkspace。此时的项目结构如下:

三、Alamofire库的使用
我们打开 ViewController.swift,引入Alamofir库。在文件头部的import UIKit 行下面添加一个“import Alamofire”,一定要进行这一步,不然没有使用库的API的。
然后在 viewDidLoad() 方法中的 super.viewDidLoad() 下面一行,将 https://github.com/Alamofire/Alamofire 其中的一段api代码放进去,然后运行项目,在Xcode的输出面板中可以看到一些相关的信息,说明已经可以正常调用这些api了。
如果我们需要再安装其它库,如布局三方库 SnapKit,先搜索一下
pod search snapKit
结果如下图:

根据提示Podfile中target xxx do ... end 块内添加一行"pod 'SnapKit', '~> 0.14.0'",文件内容如下:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target "demo" do
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => '3.4.0'
pod 'SnapKit', '~> 0.14.0'
end
再执行安装命令
pod install
即可。此时应该在Pods目录里看到SnapKit库了.最后
swift中第三方网络请求库Alamofire的安装与使用的更多相关文章
- Alamofire - 优雅的处理 Swift 中的网络操作
网络处理,应该是我们平时开发的时候最常用到的操作.比如读取 JSON 数据,下载图片,这些操作都要和网络打交道,一个高效稳定的网络操作库对于提升我们日常的开发效率有着非常关键的作用.Alamofire ...
- 「Python 编程」编码实现网络请求库中的 URL 解析器
摘要:怎么写出更短的代码并不是这次要讨论的话题.今天我们来研究一下:运行代码的计算机是如何找到目标服务器的? 相信各位 Python 开发者都用过 Requests 库,有些朋友还用过 WebSock ...
- 造轮子 | 怎样设计一个面向协议的 iOS 网络请求库
近期开源了一个面向协议设计的网络请求库 MBNetwork,基于 Alamofire 和 ObjectMapper 实现,目的是简化业务层的网络请求操作. 须要干些啥 对于大部分 App 而言,业务层 ...
- 自己动手写一个iOS 网络请求库的三部曲[转]
代码示例:https://github.com/johnlui/Swift-On-iOS/blob/master/BuildYourHTTPRequestLibrary 开源项目:Pitaya,适合大 ...
- Swift中的HTTP请求
iOS开发中大部分App的网络数据交换是基于HTTP协议的.本文将简单介绍在Swift中使用HTTP进行网络请求的几种方法. 注意:网络请求完成后会获得一个NSData类型的返回数据,如果数据格式为J ...
- 浅论Android网络请求库——android-async-http
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Insta ...
- [转]Android各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- Android之网络请求库
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- 【转载】一步一步搭建自己的iOS网络请求库
一步一步搭建自己的iOS网络请求库(一) 大家好,我是LastDay,很久没有写博客了,这周会分享一个的HTTP请求库的编写经验. 简单的介绍 介绍一下,NSURLSession是iOS7中新的网络接 ...
随机推荐
- iOS xcode使用断点追踪后,无法nslog,无法po对应的值 方法小结
今天使用断点追踪后,发现无法正常nslog,使用po也无法打印出对应的值,进入断点显示的值都为nil,网上查了一下,我总结出了以下几个可行方法: 法一:项目根目录->PROGECT->Bu ...
- 【代码笔记】iOS-读取一段文字
一,效果图. 二,工程图. 三,代码. RootViewController.m #import "RootViewController.h" @interface RootVie ...
- 深入理解Objective-C Runtime
一.简介 主要特点: 在OC语言中,函数的调用是属于动态调用的,编译阶段并不确定要调用的函数,在真正的运行时才会根据函数名查找要调用哪个函数. 而在C语言中,函数的调用是在编译阶段就已经确定要调用哪个 ...
- UILabel和NSAttributedString那些事
注:通常的label用来现实普通的文字.但是,你常常会遇到这样的情况:一段文字中不仅有文字,也有图片,甚至文字中的某段文字与其他的文字的appearance不一致的情况,这样的一段文字就可以称得上是富 ...
- 1.2 基础知识——关于猪皮(GP,Generic Practice)
摘要: 这是<CMMI快乐之旅>系列文章之一.说起猪皮(GP,Generic Practice),真的让人又爱又恨,中文翻译叫通用实践.CMMI标准中每个级别包含几个PA,每个PA又包含几 ...
- 基于微软平台IIS/ASP.NET开发的大型网站有哪些?
首先说明一下,本文绝不是要说Microsoft平台多么好,多么牛.只是要提醒一些LAMP/Java平台下的同志们,微软平台不至于像你们说的,和想象的那么不堪!只是你们自己不知道而已.同时,也希望广大M ...
- hibernate总记录数查询和分页查询
//参考代码 //第一种方法: String hql = "select count(*) from User as user"; Integer count = (Integer ...
- (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 决策树分析算法)
随着大数据时代的到来,数据挖掘的重要性就变得显而易见,几种作为最低层的简单的数据挖掘算法,现在利用微软数据案例库做一个简要总结. 应用场景介绍 其实数据挖掘应用的场景无处不在,很多的环境都会应用到数据 ...
- c# winform插件
插件接口 namespace IMsg { ///<summary> /// 这是插件必须实现的接口,也是主程序与插件通信的唯一接口 /// 换句话说,主程序只认识插件里的这些方法 /// ...
- EF Power Tools的Reverse Engineer Code First逆向生成Model时处理计算字段
VS2013上使用EF Power Tools的Reverse Engineer Code First逆向生成Model时,没有处理计算字段.在保存实体时会出现错误. 可以通过修改Mapping.tt ...