NetworkUtils 2.0.1

NetworkUtils 2.0.1

Wyatt MufsonRoss KrasnerWyatt Mufson 维护。



  • WyattMufson

NetworkUtils

Swift 包,用于处理 HTTP 请求

Build Status codecov Version License Platform

概述

NetworkUtils 是一个为 iOS 上的 Swift 实现HTTP 网络请求的包。项目的目标是复制在 nodejs 中使用的axios npm 包的功能。

它基于 Foundation URL 加载系统(类似于 Alamofire)。NetworkUtils 使用 Ryu Games 的 SwiftPromises 库来实现 Promise 支持。

安装

NetworkUtils 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 即可

pod 'NetworkUtils'

然后运行 pod install

示例用法

HTTP请求

使用NetworkUtils进行HTTP请求非常简单。使用NetworkUtils.main单例对象和HTTP方法之一:postgetputdelete

下面是一个HTTP GET请求示例:

let networkUtils = NetworkUtils.main

networkUtils.get("http://ip-api.com/json").then {(data) in
  print("Data found: \(data)")
}.catch {(error) in
  print("Error: \(error.localizedDescription)")
}

错误处理

NetworkUtils提供了一个名为NetworkError的非常基础的Error子类。

public struct NetworkError: Error {
  public let msg: String
  public let code: Int
  public var localizedDescription: String {
    return "There was a Network Error with code \(code) and a message: \(msg)"
  }
}

将通过NetworkError拒绝。

}.catch {(error) in
  let code = error.code
  let msg = error.msg
  let localizedDescription = error.localizedDescription
}

可达性

NetworkUtils还提供可达性服务。例如,使用NetworkUtils.reachability访问可达性,如下所示:

let reachability = NetworkUtils.reachability

switch reachability.connection {
case .wifi:
    print("Reachable via WiFi")
case .cellular:
    print("Reachable via Cellular")
case .none:
    print("Not Reachable")
}

作者

WyattMufson - Ryu Games的共同创始人

许可协议

NetworkUtils可在MIT许可协议下使用。