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的安装与使用的更多相关文章

  1. Alamofire - 优雅的处理 Swift 中的网络操作

    网络处理,应该是我们平时开发的时候最常用到的操作.比如读取 JSON 数据,下载图片,这些操作都要和网络打交道,一个高效稳定的网络操作库对于提升我们日常的开发效率有着非常关键的作用.Alamofire ...

  2. 「Python 编程」编码实现网络请求库中的 URL 解析器

    摘要:怎么写出更短的代码并不是这次要讨论的话题.今天我们来研究一下:运行代码的计算机是如何找到目标服务器的? 相信各位 Python 开发者都用过 Requests 库,有些朋友还用过 WebSock ...

  3. 造轮子 | 怎样设计一个面向协议的 iOS 网络请求库

    近期开源了一个面向协议设计的网络请求库 MBNetwork,基于 Alamofire 和 ObjectMapper 实现,目的是简化业务层的网络请求操作. 须要干些啥 对于大部分 App 而言,业务层 ...

  4. 自己动手写一个iOS 网络请求库的三部曲[转]

    代码示例:https://github.com/johnlui/Swift-On-iOS/blob/master/BuildYourHTTPRequestLibrary 开源项目:Pitaya,适合大 ...

  5. Swift中的HTTP请求

    iOS开发中大部分App的网络数据交换是基于HTTP协议的.本文将简单介绍在Swift中使用HTTP进行网络请求的几种方法. 注意:网络请求完成后会获得一个NSData类型的返回数据,如果数据格式为J ...

  6. 浅论Android网络请求库——android-async-http

    在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Insta ...

  7. [转]Android各大网络请求库的比较及实战

    自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...

  8. Android之网络请求库

    自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...

  9. 【转载】一步一步搭建自己的iOS网络请求库

    一步一步搭建自己的iOS网络请求库(一) 大家好,我是LastDay,很久没有写博客了,这周会分享一个的HTTP请求库的编写经验. 简单的介绍 介绍一下,NSURLSession是iOS7中新的网络接 ...

随机推荐

  1. LBS上传到百度地图

    准备: 第一步:注册百度地图开发者账号 第二步:使用开发者账号注册相对应秘钥 在LBS后台添加所需要上传的字段 1,添加WebClientHelper帮助类 2,LBS帮助类 private stri ...

  2. 使用TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE宏区分模拟器和设备

    #if TARGET_IPHONE_SIMULATOR          NSLog(@"run on simulator");      #else          NSLog ...

  3. 你真的了解UIEvent、UITouch吗?

    一:首先查看一下关于UIEvent的定义 //事件类型 typedef NS_ENUM(NSInteger, UIEventType) { UIEventTypeTouches, UIEventTyp ...

  4. 我的第一节Android课

    我的第一节安卓课程,今天非比寻常的一天,我开始了我程序猿之路的第一节安卓课程,安卓课程只是我的一个兴趣班,我的本专业是java开发,因为喜欢做一个属于自己的一个手机APP,就选多个一样技能,毕竟十八般 ...

  5. objective-c系列-单例

    // 地球只有一个,所以声明一个地球对象就可以了,千万不能声明两个啊!同理,有时候一个类也有只能有一个对象的情况,例如服务器,只想存到一个里 // 面,这样子,下次才可以取出上次存的数据. //用全局 ...

  6. Android实现欢迎界面,点击进入应用

    在主线程中开启一个新线程,每隔100ms检查一下时间是否到达自己预设的显示时间,到达则进入应用 实现屏幕的触摸事件,当触摸的时候,进入应用 package com.example.administra ...

  7. java 语言规范 java language specifications

    在线地址: https://docs.oracle.com/javase/specs/ java语言规范下载: 链接:http://pan.baidu.com/s/1miEpJwk 密码:f89v j ...

  8. js document.createElement()的用法 (转)

    document.createElement()的用法 分析代码时,发现自己的盲点--document.createElement(),冲浪一番,总结了点经验. document.createElem ...

  9. tar包在linux下 java安装

    总的原则:将jdk-7u10-linux-x64.tar.gz压缩包解压至/usr/lib/jdk,设置jdk环境变量并将其修改为系统默认的jdk 1.将jdk-7u5-linux-x64.tar.g ...

  10. js实现页面跳转的几种方式

    第一种:    <script language="javascript" type="text/javascript">           wi ...