pocket-casts-ios
pocket-casts-ios copied to clipboard
Watch: migrate the Watch app to SwiftUI
Phase 1 - Isolated screens
- [x] EffectsInterfaceController
- [x] MenuController (Edit This item is TBD see below on the comments)
- [x] FilesOrderInterfaceController
- [x] PodcastEpisodeOrderController
- [x] PodcastsOrderInterfaceController
Phase 2 - Episode List Prep
- [x] Reference each other and should be merged together or account for the navigation
- [x] EpisodeController
- [x] PodcastEpisodeListController
Phase 3 - Episode Lists and Inter-dependencies
- [x] PodcastsInterfaceController
- [x] DownloadInterfaceController
- [x] FilterInterfaceController
- [x] FilesInterfaceController
- ~[ ] Reference each other and should be merged together or account for the navigation~
- [x] UpNextInterfaceController
- [x] NowPlayingInterfaceController
Phase 4 - Remaining views (Should be done sequentially)
- [x] FiltersInterfaceController - https://github.com/Automattic/pocket-casts-ios/pull/1524
- [x] InterfaceController
- [x] handle state restoration
- [ ] SourceInterfaceController
Phase 5 - Review unknown elements
- [ ] Static Notification Interface Controller Scene
- [ ] NotificationController (Empty view)
- [ ] Clean up any remaining WatchOS 7 migration warnings
- [ ] Ensure
Screenshot Automation Watch
still runs
From Chip:
Progress update. Phase 1 is now mostly complete with the exception of the MenuController. The Menu Controller uses long-press gestures to provide a series of options to the users. Apple's Recommendation is to move away from this:
In versions of watchOS before watchOS 7, people could press firmly on the display to open a hidden menu of actions relevant to the current screen. In watchOS 7 and later, watchOS apps elevate important items out of such menus and into the relevant screen or a settings screen. source
Instead, they suggest using Toolbar Buttons. The UI for Phase 2 requires the use of some Menu controls so as part of that conversion I'll move the menu controls to the toolbar buttons to present as an option.
Should this project also include migrating the .xcproj
file to have a single Watch OS project and also get rid of the Storyboards files and the startup cycle of the app?
It looks this was changed on XCode 14: https://stackoverflow.com/questions/52687924/ios-watchos-what-is-the-difference-between-watchkit-app-and-watchkit-app-exten