版本记录
版本号 | 时间 |
---|---|
V1.0 | 2020.10.16 星期五 |
前言
关于网络请求有很多优秀的三方框架,比较常用的比如说OC的AFNetworking,这里我们就一起学习一下Swift的网络请求框架 - Alamofire。
简介
首先我们看一下该框架在GitHub上的地址 - Alamofire。
该框架的作者是在苹果工作了15年的工程师 - Jon Shier
。目前在Detroit Labs in Detroit, MI
工作。
下面就是他的主页。
Features
Chainable Request / Response Methods
Combine Support
URL / JSON Parameter Encoding
Upload File / Data / Stream / MultipartFormData
Download File using Request or Resume Data
Authentication with URLCredential
HTTP Response Validation
Upload and Download Progress Closures with Progress
cURL Command Output
Dynamically Adapt and Retry Requests
TLS Certificate and Public Key Pinning
Network Reachability
Comprehensive Unit and Integration Test Coverage
- Complete Documentation
Component Libraries
为了使Alamofire
特别专注于核心网络实施,Alamofire Software Foundation创建了其他组件库,以将其他功能引入Alamofire
生态系统。
-
AlamofireImage - 一个图像库,包括图像响应序列化程序,
UIImage
和UIImageView
扩展,自定义图像过滤器,自动清除内存中的缓存以及基于优先级的图像下载系统。 -
AlamofireNetworkActivityIndicator - 使用
Alamofire
控制iOS上网络活动指示器的可见性。 它包含可配置的延迟计时器,以帮助减轻闪烁,并且可以支持不受Alamofire
管理的URLSession
实例。
Requirements
iOS 10.0+ / macOS 10.12+ / tvOS 10.0+ / watchOS 3.0+
Xcode 11+
Swift 5.1+
Migration Guides
- Alamofire 5.0 Migration Guide
- Alamofire 4.0 Migration Guide
- Alamofire 3.0 Migration Guide
- Alamofire 2.0 Migration Guide
Installation
1. CocoaPods
CocoaPods 是Cocoa
项目的依赖项管理。 有关使用和安装说明,请访问其网站。 要使用CocoaPods
将Alamofire
集成到您的Xcode项目中,请在您的Podfile
中指定它:
pod 'Alamofire', '~> 5.2'
2. Carthage
Carthage 是一个分散的依赖项管理器,可构建您的依赖性并为您提供二进制框架。 要使用Carthage
将Alamofire
集成到您的Xcode
项目中,请在您的Cartfile
中指定它:
github "Alamofire/Alamofire" ~> 5.2
3. Swift Package Manager
Swift Package Manager
是用于自动分发Swift
代码的工具,并且已集成到swift编译器中。 它处于早期开发阶段,但是Alamofire
确实支持在支持的平台上使用它。
设置Swift package
后,将Alamofire
添加为依赖项就像将其添加到Package.swift
的dependencies
值一样容易。
dependencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.2.0"))
]
4. Manually
如果您不想使用任何上述依赖管理器,则可以手动将Alamofire
集成到项目中。
Embedded Framework
- 打开终端,
cd
进入您的顶级项目目录,并运行以下命令“如果”未将您的项目初始化为git
存储库:
$ git init
- 通过运行以下命令将
Alamofire
添加为git
子模块submodule:
$ git submodule add https://github.com/Alamofire/Alamofire.git
- 打开新的
Alamofire
文件夹,然后将Alamofire.xcodeproj
拖到应用程序Xcode
项目的项目浏览器中。
它应该嵌套在应用程序的蓝色项目图标下方。是在其他所有Xcode组之上还是之下都没有关系。
在项目浏览器中选择
Alamofire.xcodeproj
,然后验证部署目标是否与您的应用程序目标相匹配。接下来,在项目浏览器中选择应用程序项目(蓝色项目图标)以导航到目标配置窗口,并在侧栏中的
Targets
标题下选择应用程序目标。在该窗口顶部的标签栏中,打开
General
面板。单击
Embedded Binaries
部分下的+
按钮。您将看到两个不同的
Alamofire.xcodeproj
文件夹,每个文件夹都有两个不同版本的Alamofire.framework
嵌套在Products
文件夹中。
选择哪个
Products
文件夹都无关紧要,但是选择顶部还是底部Alamofire.framework
很重要。
- 选择iOS的顶部
Alamofire.framework
和macOS
的底部。
您可以通过检查项目的构建日志来验证选择了哪一个。
Alamofire
的构建target
将列为Alamofire iOS,Alamofire macOS,Alamofire tvOS
或Alamofire watchOS
。
- 就这些啦。
自动将
Alamofire.framework
作为目标依赖项(target dependency)
,链接框架和嵌入式框架添加到复制文件构建阶段,这是您在模拟器和设备上构建所需要的全部。
后记
本篇主要讲述了Alamofire框架的基本概览,感兴趣的给个赞或者关注~~~