可适配的 HTTP 客户端
CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它
$ gem install cocoapods
要使用 CocoaPods 将 Nappa 集成到您的 Xcode 项目中,请在您的 Podfile
文件中指定它
pod 'Nappa', '~> 4.0.0'
然后,运行以下命令
$ pod install
Carthage 是一个去中心化的依赖管理器,它可以自动化向您的 Cocoa 应用程序添加框架的过程。
您可以使用 Homebrew 安装 Carthage,使用以下命令
$ brew update
$ brew install carthage
要使用 Carthage 将 Nappa 集成到您的 Xcode 项目中,请在您的 Cartfile
文件中指定它
github "AlTavares/Nappa" ~> 4.0.0
要将 Nappa 用作 Swift Package Manager 包,只需在您的 Package.swift 文件中添加以下内容。
dependencies: [
.package(url: "https://github.com/AlTavares/Nappa.git", from: "4.0.0")
]
如果您不想使用上述任何依赖管理器,您可以手动将 Nappa 集成到您的项目中。
cd
进入您的顶层项目目录,并运行以下命令“如果”您的项目未初始化为 git 仓库$ git init
$ 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
文件夹,每个文件夹都有两个不同版本的 Nappa.framework
嵌套在 Products
文件夹中。
选择哪个
Products
文件夹都无关紧要。
选择 Nappa.framework
。
就完成了!
Nappa.framework
会自动添加为目标依赖项、链接框架和嵌入式框架,在复制文件构建阶段中,这正是您在模拟器和设备上构建所需的一切。
+
按钮。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
自动设置
如果未在 Headers 中设置,则内容类型将使用当前的 ParameterEncoding
自动设置
Nappa 在 MIT 许可证下发布。有关详细信息,请参阅 LICENSE。