太阳能
一个用于生成日出和日落时间的 Swift 辅助工具。
Solar 使用来自 美国海军天文台 的算法在本地进行计算,因此无需使用网络。
用法
Solar 需要指定一个日期和一个位置,以纬度和经度表示
let solar = Solar(for: someDate, coordinate: CLLocationCoordinate2D(latitude: 51.528308, longitude: -0.1340267))
let sunrise = solar?.sunrise
let sunset = solar?.sunset
如果我们只需要得到当前日期和时间日出日落时间,也可以不提供日期
let solar = Solar(coordinate: CLLocationCoordinate2D(latitude: 51.528308, longitude: -0.1340267))
let sunrise = solar?.sunrise
let sunset = solar?.sunset
请注意,所有日期都是 UTC。如需要,不要忘记将日期格式化为正确的时间区域。
日出和日落类型
Solar 生成几种类型的日出和日落,这些类型根据太阳在地平线下方的角度不同而不同
-
官方 (~0°)
-
民用(低于地平线 6°)
-
航海(低于地平线 12°)
-
天文(低于地平线 18°)
更多信息请见 https://www.timeanddate.com/astronomy/different-types-twilight.html
便利方法
Solar 还包含一些便利方法
// Whether the location specified by the `latitude` and `longitude` is in daytime on `date`
let isDaytime = solar.isDaytime
// Whether the location specified by the `latitude` and `longitude` is in nighttime on `date`
let isNighttime = solar.isNighttime
安装
Solar 通过 CocoaPods、Carthage 和 Swift 包管理器提供。
CocoaPods
要将 Solar 包含到应用程序中,请在 Podfile 中添加以下 pod,然后运行 pod install
pod "Solar", "~> 2.2"
要将 Solar 包含到另一个 pod 中,请在 podspec 中添加以下 dependency
s.dependency "Solar", "~> 2.2"
Carthage
将 ceek/Solar
项添加到您的 Cartfile,然后按照 Carthage 的 XCFramework 安装说明的其余部分操作
github "ceeK/Solar" ~> 2.2
Swift 包管理器
在 Xcode 中将 Solar 包含到应用程序中
- 转到 文件 ‣ Swift 包 ‣ 添加包依赖。
- 将
https://github.com/ceeK/Solar.git
作为包存储库输入,然后点击下一步。 - 将规则设置为版本,最次主要版本,并输入
2.2.0
作为最低版本要求。点击下一步。
要将 Solar 包含到另一个 Swift 包中,请将以下 dependency 添加到您的 Package.swift
.package(name: "Solar", url: "https://github.com/ceeK/Solar.git", from: "2.2.0")
许可
MIT 许可证 (MIT)
版权所有 (c) 2016-2021 Chris Howell
以下条件下,准许任何获得本软件及其相关文档文件(以下简称“软件”)副本的个人以免费方式使用本软件,包括但不限于以下权利:使用、复制、修改、合并、发表、分发、再许可、出售软件的副本,以及许可提供给软件的接收人使用本软件的副本,条件如下:
在所有副本或主要部分中必须包含上述版权声明和本许可声明。
本软件按照“现状”提供,不提供任何形式的质量保证,无论是明示的还是隐含的,包括但不限于对适销性、特定用途适用性以及不侵犯他人权利的保证。在任何情况下,作者或版权所有者都不应对任何索赔、损害或任何其他责任承担责任,无论是由合同行为、侵权行为或其他任何原因引起,无论源于、缘起于或与该软件或使用该软件有关或与之相关的任何其他行为。