Files
Ascently/ios

Ascently for iOS

The native iOS app and widget 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.