This is a sample iOS project made in SwiftUI.
It is compatible on iPads and iPhones for iOS 16/15.
Following youtube "courses" videos related to the project are available: Course1 Course2
If I have more time, I may release other videos for the complete project (and may add features).
Inspired by https://nalexn.github.io/clean-architecture-swiftui/
Global app UI properties are stored in AppConstants. View specific constants are stored in SwiftUI ViewConstants. If needed Views have a body16 function to manage content specific for iOS 16 and a body15 for content specific to iOS15. In case of future release and will be very easy to get rid of old code and remove deprecated SwiftUI code.
Navigation is managed differently for iOS16 (NavigationStack) and iOS15 (Navigation View). "Links" to push view are also managed differently depending iOS version.
NB: For iPad on iOS 15 must use navigationViewStyle stack
Text string are localized and managed with Swiftgen to avoid typing errors or deleted entries. Text styles are managed in TextViews and accessible from String.
Images accessors are generated with SwiftGen, images are reduced for pngs using ImageOptim. Symbols images can be accessed with SFSafeSymbols enums. A convinient function fit, helps to render fit image at the right size and color.
Different buttons are available in Views/Components folder. Main one is ButtonView, add different styles in it if needed.
The project use the following Swift Packages.
Make sure code standard and quality are respected.
See youtube video if needed to see configuration in project.
https://github.com/realm/SwiftLint
Generate convinient enums to access project ressources. Lotties file, localized strings, Images, Colors and fonts.
See youtube video 1 if needed to see configuration in project.
https://github.com/SwiftGen/SwiftGen
Run lottie animation, convinient SwiftUI wrapper has been done in the project.
https://github.com/airbnb/lottie-ios
A solution to store Codable in any possible ways and it abstract all complexity.
https://github.com/omaralbeik/Stores
Help to access UIKit components from SwiftUI views, still needed to customise some UI, specially on iOS 15.
https://github.com/siteline/SwiftUI-Introspect.git
SwiftUI view to help managing star rating with star shapes customizable.
https://github.com/dkk/StarRating
Convinient swiftUI Image picker helper for iOS15 only.
https://github.com/dkk/StarRating
Helper to manage presentation sheet detent in SwiftUI for iOS 15.
https://github.com/AndreaMiotto/PartialSheet
Acknolegement UI + plist management for Swift Packages use in the project.
https://github.com/MartinP7r/AckGen
Acknolegement UI + plist management for Swift Packages use in the project.
https://github.com/MartinP7r/AckGen
Helpers for Date and Time operations.
https://github.com/malcommac/SwiftDate
Helper to make inner shaddow Neumorphic style in iOS15.
https://github.com/costachung/neumorphic
Safe enum accessors to SF symbols.
https://github.com/SFSafeSymbols/SFSafeSymbols
Feel free to contact me, if you have any questions,comment you are welcome: lacan.thomas.pro@gmail.com