SwiftSky 1.3.2

SwiftSky 1.3.2

测试已测试
语言语言 SwiftSwift
许可协议 MIT
发布最新版本2017年7月
SwiftSwift 版本3.1
SPM支持 SPM

App Company.io 维护。



SwiftSky 1.3.2

Documentation

SwiftSky 让您轻松将 Dark Sky API 集成到您的 Swift 应用中。

要求

  • darksky.net/dev/register 获取一个密钥
  • iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+
  • Xcode 8.1+
  • Swift 3.0+

安装

Swift 包管理器

Swift 包管理器 是一个用于自动分发 Swift 代码的工具,与 swift 编译器集成。它处于早期开发阶段,但 SwiftSky 在支持的平台上支持其使用。

一旦您设置了 Swift 包,只需将 SwiftSky 添加到 Package.swiftdependencies 值即可。

dependencies: [
    .Package(url: "https://github.com/AppCompany/SwiftSky.git", majorVersion: 1)
]

用法

设置

首先,您必须在需要使用 SwiftSky 的地方导入它

import SwiftSky

然后,在请求任何预报之前,设置您从 darksky.net/dev/register 获得的密钥

SwiftSky.secret = "<DARKSKY_SECRET>"

设置

您可以按需设置以下设置(以下显示默认值)

SwiftSky.hourAmount = .fortyEight
        
SwiftSky.language = .english
    
SwiftSky.locale = .autoupdatingCurrent
    
SwiftSky.units.temperature = .fahrenheit
SwiftSky.units.distance = .mile
SwiftSky.units.speed = .milePerHour
SwiftSky.units.pressure = .millibar
SwiftSky.units.precipitation = .inch
SwiftSky.units.accumulation = .inch

有关这些设置的更多详细信息,请参阅 文档

SwiftSky 会为您在会话期间保留所有设置。只需在应用程序初始化时设置一次即可。您随时可以更改设置,但它们只会应用于请求的新预报。

请求天气预报

存在一个简单但通用的获取预报的函数SwiftSky.get()。此函数需要您指定需要哪些位置的数据。以下示例显示了所有可能的数据类型。位置参数接受LocationConvertible,这意味着您可以传递一个LocationCLLocationCLLocationCoordinate2D或格式为以下所示的String"<latitude>,<longitude>"

SwiftSky.get([.current, .minutes, .hours, .days, .alerts],
    at: Location(latitude: 1.1234, longitude: 1.234)
) { result in
    switch result {
    case .success(let forecast):
        // do something with forecast
    case .failure(let error):
        // do something with error
    }
}

时间旅行

可以通过给SwiftSky.get函数一个Date对象来请求时间旅行

SwiftSky.get([.hours],
    at: Location(latitude: 1.1234, longitude: 1.234),
    on: Date(timeIntervalSince1970: 0)
) { result in
    // handle like a regular forecast call
}

预报对象

有关Forecast对象及其包含的所有数据的详细信息,请参阅此处

测试 & 文档

Documentation

如您所见的上述徽章所示,此框架已被彻底测试和编写文档。有关测试覆盖范围的详细描述,请参阅此处。SwiftSky的完整文档可在此处找到

贡献

与每个开源项目一样,贡献总是受欢迎!

但是,请遵循以下规则

  • 使用目前使用的相同样式
  • 为它编写适当的文档
  • 确保一切都能通过测试
  • 代码必须是100%的开源代码

关于

SwiftSkyLuca Silverentand开发并维护,他是

App Company.io

考虑捐赠

您正在使用此框架,并希望看到它被维护和更新吗?请考虑通过下面的按钮进行捐赠,帮助我做到这一点。

Donate