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. 【即时通讯】即时通讯及XMPP概述及…

    在讲解XMPP前,我们需要先了解什么是即时通讯技术: * 即时通讯技术(IM - InstantMessaging)支持用户在线实时交谈.当一方需要发送消息时,用户必须打开一个窗口,以便让用户与交流对 ...

  2. IOS 如何隐藏tabbar

    系统自带的UITabBarController有时候到不到要求,需要自定义样式. 有一种方法就是在TabBar上面在放一层自己的,正好把原来的遮住. 那么,从Tab进入子的Controller想要隐藏 ...

  3. css字体家族

    名词解释: 衬线指的是字体起始末端的细节装饰.

  4. MAC OS 系统使用心得

    1.Windows快捷键在 mac os 里怎么调用 今天用teamviewer链接我在公司的电脑.我想调试程序,我程序默认F5是启动调试,但在mac os里,F5是调节屏幕亮度的. 这时候遇到快捷键 ...

  5. JavaScript Patterns 4.10 Curry

    Function Application apply() takes two parameters: the first one is an object to bind to this inside ...

  6. Linux SendMail发送邮件失败诊断案例(三)

    一Linux服务器突然发送不出邮件,检查了很多地方都没有发现异常,检查/var/log/maillog发现如下具体信息: Apr 12 00:36:04 mylinux sendmail[4685]: ...

  7. plsql 查询结果窗口 不正常

    今天发现了一个很有趣的现象,一个查询语句查出来的结果窗口只显示一部分. 是因为查询语句中有全角的字符或者空格: 如果是sqlServer的话直接就报错了,而plsql不报错,显示如下

  8. One to One 的数据库模型设计与NHibernate配置

    在数据库模型设计中,最基本的实体关系有三种:一对一.一对多.多对多.关于一对多和多对多使用的情况较多,之前也有过一些讨论,现在来说明一下在数据库中一对一的模型设计. 首先,关系数据库中使用外键来表示一 ...

  9. java中equals和"=="的区别

    "=="号,它比较的是一个对象在内存中的地址值, 比如2个字符串对象String s1 = new String("str");String s2 = new ...

  10. oracle学习笔记系列------oracle 基本操作之基本函数的用法

    --创建一个accout账户表 CREATE TABLE account( id ) NOT NULL, recommender_id ), login_name ) NOT NULL, login_ ...