📅 Astrology Calculator for Moon Phases, Zodiac Signs & More
🛠 Swift-based astronomical calculations for iOS, macOS & tvOS
✅ Calculates moon rise/set times
✅ Determines moon phases & age
✅ Computes Zodiac sign for a given date & location
✅ Supports iOS, macOS & tvOS
✅ High-precision astronomical calculations
- 🌙 Moon phase calculation
- 🌒 Moon rise/set time estimation
- 🏛 Zodiac sign determination
- 📅 Moon age computation
- 🖥 Cross-platform support (iOS, macOS, tvOS)
- 🌎 Location-based enhancements
- 📊 Improved accuracy in moon cycle prediction
- 🌓 Visualization of moon phases
- 📡 API integration for live astronomical data
- 📆 Custom date range support
.package(url: "https://github.com/emvakar/EKAstrologyCalc.git", from: "1.0.6")
- Requires Xcode 14+
- Supports iOS 15+, macOS 14+, tvOS 15+
To use EKAstrologyCalc, import the module and create an instance of MoonPhaseCalculator
. The example below demonstrates how to retrieve moon phase details and zodiac sign based on the current date and location.
import UIKit
import CoreLocation
import EKAstrologyCalc
class ViewController: UIViewController {
let location = CLLocation(latitude: 55.751244, longitude: 37.618423) // Moscow
var moonPhaseManager: EKAstrologyCalc!
override func viewDidLoad() {
super.viewDidLoad()
moonPhaseManager = EKAstrologyCalc(location: location)
let info = moonPhaseManager.getInfo(date: Date())
print("🌍 Current location: \(info.location.coordinate)")
print("📅 Calculation date: \(info.date)")
info.moonModels.forEach {
print("🌙 --- Lunar Day ---")
print("🔢 Lunar Day Number: ", $0.age)
print("🌅 Moonrise: ", $0.rise?.toString(style: .short) ?? "No data")
print("🌄 Moonset: ", $0.set?.toString(style: .short) ?? "No data")
print("♈ Lunar Zodiac Sign: ", $0.sign)
}
print("🌑 Moon Phase: \(info.phase)")
print("📈 Moon Trajectory: \(info.trajectory)")
}
}
This will output on debug console:
🌍 Current location: CLLocationCoordinate2D(latitude: 55.751244, longitude: 37.618423)
📅 Calculation date: 2025-02-09 04:53:16 +0000
🌙 --- Lunar Day ---
🔢 Lunar Day Number: 11
🌅 Moonrise: 09.02.2025, 12:46
🌄 Moonset: 10.02.2025, 07:53
♈ Lunar Zodiac Sign: cancer
- Swift
- Foundation & CoreLocation
- Astronomical Algorithms
- UIKit & SwiftUI (if UI included)
Want to improve EKAstrologyCalc? Feel free to:
- Submit issues 🚀
- Open pull requests 🔥
- Suggest features 🌟
This project is licensed under the MIT License – see the LICENSE file for details.
🌙 Enjoy using EKAstrologyCalc? Give it a ⭐ to support development!