All checks were successful
Ascently Docker Deploy / build-and-push (push) Successful in 2m31s
23 lines
943 B
Markdown
23 lines
943 B
Markdown
# Ascently for iOS
|
|
|
|
The native iOS, watchOS, and widget client for Ascently, built with Swift and SwiftUI.
|
|
|
|
## Project Structure
|
|
|
|
This is a standard Xcode project. The main app code is in the `Ascently/` directory.
|
|
|
|
- `Models/`: Swift `Codable` models (`Problem`, `Gym`, `ClimbSession`) that match the Android app.
|
|
- `ViewModels/`: App state and logic. `ClimbingDataManager` is the core here, handling data with SwiftData.
|
|
- `Views/`: All the SwiftUI views.
|
|
- `AddEdit/`: Views for adding/editing gyms, problems, etc.
|
|
- `Detail/`: Detail views for items.
|
|
- `Services/`: Handles HealthKit and sync server communication.
|
|
- `Utils/`: Helper functions and utilities.
|
|
|
|
## Other Targets
|
|
|
|
- `ClimbingActivityWidget/`: A home screen widget.
|
|
- `SessionStatusLive/`: A Live Activity for the lock screen.
|
|
|
|
The app is built to be offline-first. All data is stored locally on your device and works without an internet connection.
|