一个用于生成日出和日落时间的 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 Package Manager 获得。
要将 Solar 包含在应用程序中,请将以下 pod 添加到您的 Podfile,然后运行 pod install
。
pod "Solar-dev", "~> 3.0"
要将 Solar 包含在另一个 pod 中,请将以下 依赖项 添加到您的 podspec。
s.dependency "Solar", "~> 3.0"
将 ceek/Solar
项目添加到您的 Cartfile,然后按照 Carthage 的 XCFramework 安装说明的其余部分进行操作。
github "ceeK/Solar" ~> 3.0
要在 Xcode 的应用程序中包含 Solar,
https://github.com/ceeK/Solar.git
作为软件包存储库,然后单击“下一步”。3.0.0
作为最低版本要求。单击“下一步”。要将 Solar 包含在另一个 Swift 包中,请将以下 依赖项 添加到您的 Package.swift。
.package(name: "Solar", url: "https://github.com/ceeK/Solar.git", from: "3.0.0")
MIT 许可证 (MIT)
版权所有 (c) 2016-2021 Chris Howell
特此授予任何人免费获得本软件及其相关文档文件(“软件”)副本的许可,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售本软件的副本的权利,并允许向其提供本软件的人员这样做,但须遵守以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或重要部分中。
本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、特定用途的适用性和非侵权性的保证。在任何情况下,作者或版权持有者均不对任何索赔、损害或其他责任负责,无论是在合同、侵权行为或其他方面,由本软件或本软件的使用或其他处理引起的或与之相关的。