iOS App
The Running Days iOS app is built with Swift and SwiftUI, integrating with Apple HealthKit to automatically track running workouts.
Overview
The iOS app provides:
- Native performance with Swift and SwiftUI
- HealthKit integration for automatic workout import
- Offline-first design with local caching
- Background sync to keep data current
Key Features
| Feature | Description |
|---|---|
| HealthKit Import | Automatically import runs from Apple Watch and Health app |
| Goal Tracking | View progress toward yearly running day goals |
| Streak Display | See current and longest streaks |
| Widget Support | Home screen widget for quick progress view |
Documentation
- HealthKit Integration - How the app reads workout data
- Sync Architecture - Cloud synchronization design
Requirements
- iOS 17.0+
- Xcode 15.0+
- Apple Developer account (for HealthKit)
Project Structure
text
apps/ios/RunningDays/
├── App/ # App entry point and configuration
├── Core/ # Shared utilities and extensions
├── Features/ # Feature modules (Dashboard, Settings, etc.)
├── Models/ # Data models
├── Services/
│ ├── HealthKit/ # HealthKit integration
│ ├── Networking/ # API client
│ ├── Storage/ # Local persistence
│ └── Sync/ # Sync coordination
└── Resources/ # Assets, localizationBuilding the App
bash
# Open in Xcode
open apps/ios/RunningDays.xcodeproj
# Or use xcodebuild
xcodebuild -project apps/ios/RunningDays.xcodeproj -scheme RunningDays buildPrivacy
The iOS app:
- Only reads running workouts (no write access)
- Stores data locally with SwiftData
- Syncs to cloud only when explicitly enabled
- Never shares health data with third parties