BikeLog is an open source app exploring modern app development through the lens of displaying workout data from HealthKit.
- SwiftUI
- Combine
- Async/Await
- Measurement API
- iOS 15
formatted
API
- Protocol based data provider
HealthProvider
to allow for mock providers that do not require HealthKit. - Composable SwiftUI views, each with a
PreviewProvider
that uses mock data. - AppStorage for preferences.
- HealthKit data updates sent back to an ObservableObject via a Publisher.
- HealthKit queries use the new Async HealthKit APIs available in iOS 15.4.
- Extending the Measurement API to create custom units to represent "pace" based speed.
- Unit Testing.