StanfordSpezi / SpeziViews

A common set of SwiftUI views and related functionality used in Spezi modules
https://swiftpackageindex.com/StanfordSpezi/SpeziViews/documentation/
MIT License
4 stars 3 forks source link

watchOS Support & AppleWatch User Interface Adjustments #14

Open PSchmiedmayer opened 1 year ago

PSchmiedmayer commented 1 year ago

Problem

The Spezi module should support watchOS to enable developers to build a watchOS-based application.

The current UI elements in the Spezi module only support iOS. As we want to support the Apple Watch, we must ensure that the UI controls are adapted to the smaller screen size and can be navigated on the Apple Watch.

Solution

Update all UI components to use native SwiftUI components on watchOS. We also need to add watchOS 10 as a supported platform in the Swift package file and may update the Swift tools version to 5.9.

The watchOS UI components should support the watchOS 10 UI design paradigms. You can learn more about watchOS 10 in the following WWDC 2023 videos:

All UI changes should be as cross-platform as possible. Increasing the iOS minimum platform target is acceptable.

Additional context

Feel free to use comments under this issue to discuss the best way to approach the adoption of watchOS for the Spezi module.

It is required to install the latest Xcode 15 beta to address this issue.

Code of Conduct

Supereg commented 9 months ago

Initial groundwork was done in #29. The TestApp is not yet watchOS compatible (no companion app) and some interface components might not be optimized for watchOS screen sizes.