Skip to content

tlacan/mapPins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Map Pins

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).

Architecture

Inspired by https://nalexn.github.io/clean-architecture-swiftui/

SwiftUI Views

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

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

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

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.

Buttons

Different buttons are available in Views/Components folder. Main one is ButtonView, add different styles in it if needed.

Librairies

The project use the following Swift Packages.

SwiftLint

Make sure code standard and quality are respected. See youtube video if needed to see configuration in project.
https://github.com/realm/SwiftLint

SwiftGen

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

Lottie

Run lottie animation, convinient SwiftUI wrapper has been done in the project.
https://github.com/airbnb/lottie-ios

Stores

A solution to store Codable in any possible ways and it abstract all complexity.
https://github.com/omaralbeik/Stores

Introspect

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

StarRating

SwiftUI view to help managing star rating with star shapes customizable.
https://github.com/dkk/StarRating

ImagePickerView

Convinient swiftUI Image picker helper for iOS15 only.
https://github.com/dkk/StarRating

PartialSheet

Helper to manage presentation sheet detent in SwiftUI for iOS 15.
https://github.com/AndreaMiotto/PartialSheet

AckGen

Acknolegement UI + plist management for Swift Packages use in the project.
https://github.com/MartinP7r/AckGen

AckGen

Acknolegement UI + plist management for Swift Packages use in the project.
https://github.com/MartinP7r/AckGen

SwiftDate

Helpers for Date and Time operations.
https://github.com/malcommac/SwiftDate

Neumorphic

Helper to make inner shaddow Neumorphic style in iOS15.
https://github.com/costachung/neumorphic

SFSafeSymbols

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published