OpenWeatherFreeClient 0.1.1

OpenWeatherFreeClient 0.1.1

perseusrealdeal维护。



  • 作者:
  • perseusrealdeal

OpenWeatherFreeClient — Xcode 10.1+

OpenWeatherMap Free API 客户端也用于macOS和iOS应用程序。

Actions Status Version Pod Platforms Xcode 10.1 Swift 4.2 License

集成功能

Standalone Carthage compatible CocoaPods manager Swift Package Manager compatible

简介

这个库允许开发者在 free OpenWeather API 的支持下执行网络调用以请求天气数据。其中包括了 API 的 当前天气数据5天/3小时预报 实现。

需要 单独的API密钥

需求

第一方软件

第三方软件

安装

强烈建议在版本字段中使用“精确”。

独立安装

将文件 OpenWeatherStar.swift 复制一份,然后将其放在主项目所需的位置。

Carthage

Cartfile 应当包含

github "perseusrealdeal/OpenWeatherFreeClient" == 0.1.1

一些 Carthage 使用技巧放置在此处:[链接](https://gist.github.com/perseusrealdeal/8951b10f4330325df6347aaaa79d3cf2)

CocoaPods

Podfile 应当包含

target "ProjectTarget" do
  use_frameworks!
  pod 'OpenWeatherFreeClient', '0.1.1'
end

Swift Package Manager

  • 作为包依赖项,所以 Package.swift 应当包含以下语句
dependencies: [
        .package(url: "https://github.com/perseusrealdeal/OpenWeatherFreeClient.git",
            .exact("0.1.1"))
    ],
  • 作为 Xcode 项目依赖项

在导航器 > 包依赖项 > 添加包依赖项中添加项目

强烈建议在版本字段中使用“精确”。

使用方法

调用当前天气

let apikey = "The API key"

let client = OpenWeatherFreeClient()
let callDetails = OpenWeatherDetails(appid: apikey)

client.onDataGiven = { result in

  switch result {
    case .success(let weatherData):
      print("""
        DATA: BEGIN
        \(String(decoding: weatherData, as: UTF8.self))
        DATA: END
      """)
    case .failure(let error):
      switch error {
       case .failedRequest(let message):
         print(message)
       default:
         break
      }
    }
}

try? client.call(with: callDetails)

5日/3小时预报

let apikey = "The API key"

let client = OpenWeatherFreeClient()
let callDetails = OpenWeatherDetails(appid: apikey, format: .forecast)

client.onDataGiven = { result in

  switch result {
    case .success(let weatherData):
      print("""
        DATA: BEGIN
        \(String(decoding: weatherData, as: UTF8.self))
        DATA: END
      """)
    case .failure(let error):
      switch error {
       case .failedRequest(let message):
         print(message)
       default:
         break
      }
    }
}

try? client.call(with: callDetails)

MIT许可证

本仓库中所有文件都基于MIT许可证授权。

版权所有 © 诺沃西伯斯克市米哈伊尔·日古林 7531。

  • 根据斯拉夫日历,年份从世界创世纪开始。
  • 斯拉夫年的9月1日

详情请见许可证。

作者

OpenWeatherFreeClient由诺沃西伯斯克的米哈伊尔·日古林(我)编写。