测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可协议 | MIT |
发布最新版本 | 2017年7月 |
SwiftSwift 版本 | 3.1 |
SPM支持 SPM | ✓ |
由 App Company.io 维护。
SwiftSky 让您轻松将 Dark Sky API 集成到您的 Swift 应用中。
Swift 包管理器 是一个用于自动分发 Swift 代码的工具,与 swift
编译器集成。它处于早期开发阶段,但 SwiftSky 在支持的平台上支持其使用。
一旦您设置了 Swift 包,只需将 SwiftSky 添加到 Package.swift
的 dependencies
值即可。
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
,这意味着您可以传递一个Location
、CLLocation
、CLLocationCoordinate2D
或格式为以下所示的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
对象及其包含的所有数据的详细信息,请参阅此处
如您所见的上述徽章所示,此框架已被彻底测试和编写文档。有关测试覆盖范围的详细描述,请参阅此处。SwiftSky的完整文档可在此处找到
与每个开源项目一样,贡献总是受欢迎!
但是,请遵循以下规则
SwiftSky由Luca Silverentand开发并维护,他是
您正在使用此框架,并希望看到它被维护和更新吗?请考虑通过下面的按钮进行捐赠,帮助我做到这一点。