Nappa 4.0.0

Nappa 4.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2020年3月
SPM支持 SPM

Alexandre Tavares 维护。



Nappa 4.0.0

Nappa

Platforms License

Swift Package Manager Carthage compatible CocoaPods compatible

Travis JetpackSwift

可适应的 HTTP 客户端

要求

  • iOS 8.0+ / Mac OS X 10.10+ / tvOS 9.0+ / watchOS 2.0+
  • Xcode 9.0+

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它:

$ gem install cocoapods

要使用 CocoaPods 将 Nappa 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'Nappa', '~> 2.0'

然后,运行以下命令:

$ pod install

Carthage

Carthage 是一个去中心化的依赖管理器,可以自动化将框架添加到您的 Cocoa 应用程序的过程。

您可以使用以下命令通过 Homebrew 安装 Carthage:

$ brew update
$ brew install carthage

要使用 Carthage 将 Nappa 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它。

github "AlTavares/Nappa" ~> 2.0

Swift Package Manager

要将 Nappa 作为 Swift Package Manager 的包使用,只需在您的 Package.swift 文件中添加以下内容。

import PackageDescription

let package = Package(
    name: "HelloNappa",
    dependencies: [
        .Package(url: "https://github.com/AlTavares/Nappa.git", "2.0.0")
    ]
)

手动方式

如果您不打算使用上述依赖管理器之一,也可以手动将 Nappa 集成到项目中。

Git 子模块

  • 打开终端,进入您的顶级项目目录,运行以下命令(如果您的项目未初始化为 git 仓库):
$ git init
  • 通过运行以下命令将 Nappa 添加为 git 子模块
$ git submodule add https://github.com/AlTavares/Nappa.git
$ git submodule update --init --recursive
  • 打开新的 Nappa 文件夹,并将 Nappa.xcodeproj 拖动到您的应用程序 Xcode 项目的 Project Navigator 中。

    它应该嵌套在您的应用程序蓝色项目图标下。它是否位于所有其他 Xcode 组之上或之下无关紧要。

  • 在 Project Navigator 中选择 Nappa.xcodeproj,并验证部署目标与您的应用程序目标相匹配。

  • 然后,在 Project Navigator 中选择您的应用程序项目(蓝色项目图标)以导航到目标配置窗口,并在侧边栏的 "Targets" 下选择应用程序目标。

  • 在该窗口顶部的标签栏中,打开 "General" 选项卡。

  • 在 "Embedded Binaries" 部分的下方点击 + 按钮。

  • 您将看到两个不同的 Nappa.xcodeproj 文件夹,每个文件夹中都有一个嵌套在 "Products" 文件夹中的两个不同版本的 Nappa.framework

    选择哪个Products文件夹无关紧要。

  • 选择Nappa.framework

  • 就这么简单!

Nappa.framework会自动添加为目标依赖项,在复制文件构建阶段作为链接框架和嵌入框架,这是在模拟器和设备上构建所需的所有内容。

嵌入二进制文件

  • https://github.com/AlTavares/Nappa/releases下载最新版本。
  • 然后,在 Project Navigator 中选择您的应用程序项目(蓝色项目图标)以导航到目标配置窗口,并在侧边栏的 "Targets" 下选择应用程序目标。
  • 在该窗口顶部的标签栏中,打开 "General" 选项卡。
  • 在 "Embedded Binaries" 部分的下方点击 + 按钮。
  • 添加下载的Nappa.framework
  • 就这么简单!

使用方法

基本使用

        let service = HTTPService()
        service.request(method: .get, url: "https://httpbin.org/get")
            .responseJSON { (jsonResponse) in
                switch jsonResponse.result {
                case .success(let response):
                    // do something with the result
                    print(response)
                case .failure(let error):
                    // do something in case of error
                    print(error)
                }
        }

您可以通过传递这些参数来发出请求

        request(method: HTTPMethod, url: String, payload: Encodable, headers: Headers? = nil, parameterEncoding: ParameterEncoding? = nil)

        request(method: HTTPMethod, url: String, data: Data, headers: Headers? = nil, parameterEncoding: ParameterEncoding? = nil)

        request(method: HTTPMethod, url: String, headers: Headers? = nil)

ParameterEncoding更改您的有效载荷将被编码的方式,选项有

.json -> JSON Encoding
.form -> Form Data Encoding
.url  -> URL Encoding, a query string is added to the URL
.none -> no data

如果存在数据且未设置ParameterEncoding,则它将根据HTTPMethod自动设置

如果未在Header中设置,则内容类型将自动使用当前的ParameterEncoding设置

许可证

Nappa是在MIT许可证下发布的。有关详细信息,请参阅LICENSE