HPOpenWeather 5.0.0

HPOpenWeather 5.0.0

Henrik Panhans 维护。



 
依赖项
HPNetwork~> 3.1.1
HPURLBuilder~> 1.0.0
 

HPOpenWeather

CodeFactor Github Actions GitHub license

HPOpenWeather 是一个跨平台的 Swift 框架,用于与 OpenWeather One-Call API 进行通信。有关更多详情,请参阅他们的 文档

安装

HPOpenWeather 支持 iOS 13.0+、watchOS 7.0+、tvOS 13.0+ 和 macOS 10.15+。

SPM

.package(url: "https://github.com/henrik-dmg/HPOpenWeather", from: "5.0.0") 添加到您的 Package.swift 文件中

CocoaPods

在您的 Podfile 中添加 pod 'HPOpenWeather' 并运行 pod install

使用方法

要开始使用,您需要从 OpenWeather 获取一个API密钥。将此API密钥放入初始化器中,您还可以指定自定义温度格式以及/或响应中使用的语言(下面的列表显示了可用的语言和单位)。

import HPOpenWeather

// Assign API key
OpenWeather.shared.apiKey = "--- YOUR API KEY ---"
OpenWeather.shared.language = .german
OpenWeather.shared.units = .metric

// Or use options
let settings = OpenWeather.Settings(apiKey: "yourAPIKey", language: .german, units: .metric)
OpenWeather.shared.apply(settings)

您也可以通过访问 languageunits 属性来自定义响应数据单位和语言。

发起请求

要发起请求,初始化一个新的请求对象,如下所示

let request = WeatherRequest(coordinate: .init(latitude: 40, longitude: 30))

或者请求过去的历史天气数据

let timemachineRequest = WeatherRequest(coordinate: .init(latitude: 40, longitude: 30), date: someDate)

注意:日期至少要过去6小时。

要提交请求,请在 OpenWeather 上调用 sendWeatherRequest

// Classic completion handler approach
OpenWeather.shared.schedule(request) { result in
	switch result {
    case .success(let response):
    	// do something with weather data here
    case .failure(let error):
        // handle error
    }
}

// Or using the new concurrency features
let response = try await OpenWeather.shared.weatherResponse(request)

可用语言(默认在粗体)

  • 英语
  • 俄语
  • 意大利语
  • 西班牙语
  • 乌克兰语
  • 德语
  • 葡萄牙语
  • 罗马尼亚语
  • 波兰语
  • 芬兰语
  • 荷兰语
  • 法语
  • 保加利亚语
  • 瑞典语
  • 繁体中文
  • 简体中文
  • 土耳其语
  • 克罗地亚语
  • 加泰罗尼亚语

可用单位(默认在粗体)

  • 公制(风速以米/秒计,温度以摄氏度计)
  • 英制(风速以英里/小时计,温度以华氏度计)
  • 标准(风速以米/秒计,温度以开尔文计)