rebeloper/Navigation Coordinator

  • $99

Don't use NavigationStack

use a Coordinator instead 👇

Check out Navigation Kit instead

NavigationCoordinator will not be updated as of iOS25.

Ferdous Mahmud Akash

⭐️⭐️⭐️⭐️⭐️

I would like to give my thanks to Alex for making the complex topic of iOS development more understandable. His tutorials, particularly those suggested by my colleague, were instrumental in clarifying the fundamental concepts of iOS development for me as a junior developer. Additionally, his comprehensive resources on Navigation Coordinator in SwiftUI significantly enhanced my ability to write clean and maintainable code. His contributions have been invaluable in my journey as an iOS developer.

Here's a list of features Navigation Coordinator has to offer:
👉 Simple and unified API
👉 Decouple navigation logic from your views 🤯
👉 Supports iOS14+, macOS11+, tvOS14+, watchOS7+ and visionOS1+
👉 Supports SwiftUI2, SwiftUI3, SwiftUI4, SwiftUI5 and SwiftUI6 💎
👉 Supports Dependency Injection (move data between views easily)
👉 Access the navigation with the @Environment
👉 Easily use navigation within View Models too (MVVM)
👉 Perfect for deep links
👉 Works with TabView
👉 Easily pop to root
👉 Can pop back to any view
👉 EASY 3 step setup
👉 Supports .link, .sheet and .fullScreenCover navigation
👉 Has .onComplete & .onDismiss callbacks
👉 Works with async/await
👉 Example Xcode Project
👉 100% Documented

You don't have to be an advanced developer to start using Navigation Coordinator!

Step 1.

Set all your Destinations in one place.

Step 2.

Use the NavigationRoot to set your root view.

Step 3.

Access the built in navigation through the environment.

Now comes the fun part...

Push

Push a view. Optionally add onComplete and/or onDismiss callbacks. Select the push type. Use in an async/await environment.

Pop

Pop to any view in any way you want to.

Replace

Not that common but very useful if needed.

Deep link

Deep link to any view. Use completion handlers or async/await. And of course listen to the onDismiss callback if you wish to.

Supports TabView

v.4.0.3+

Step 1.

Instead of TabView use TabNavigationRoot. Choose the initial tab to be shown.

Step 2.

Switch tabs easily with the tabNavigation environment.

100% Documented

Every function, every variable, every line of code is thoroughly documented, so you get peace of mind what Navigation Coordinator does under the hood.

Xcode Project

There's an example Xcode project waiting for you with all the use cases!

Contents

Video documentation

v5.0.0+
    v4.0.0+
      v3.0.0+
        v1.0.0+

          Version 5.0.1

          onAppear bug fix

          Demo.zip
          • 512 KB
          Resources.zip
          • 15.1 KB

          Version 5.0.0 (iOS 17+ only)

          Rewritten from the ground up to support iOS17+ with NavigationStack

          Demo.zip
          • 510 KB
          Resources.zip
          • 16.3 KB

          Version 4.0.3 (iOS14 - 17 only)

          Supports tab switches 🤩

          NavigationCoordinatorDemo.zip
          • 675 KB
          Resources.zip
          • 22.2 KB

          Version 4.0.2

          Sheet swipe bug fix

          NavigationCoordinatorDemo.zip
          • 596 KB
          Resources.zip
          • 18.4 KB
          Example.zip
          • 288 KB

          Version 4.0.1

          Fixed onAppear triggered twice upon push

          Added example of how you can use navigation in a view model

          NavigationCoordinatorDemo.zip
          • 566 KB
          Resources.zip
          • 16.9 KB

          Version 4.0.0

          • 🚨 Improved API

          • Access the navigation through the @Environment

          • Simpler Destination setup

          • One step pop for multiple link pushes

          • Improved Demo to showcase dependency injection

          NavigationCoordinatorDemo.zip
          • 515 KB
          Resources.zip
          • 12.3 KB
          Video tutorial
            Preview

            Version 3.0.0 - Better API 🤯

            🚨 API change: made it even simpler

            NavigationCoordinatorDemo.zip
            • 383 KB
            Resources.zip
            • 18.4 KB
            Video tutorial
              Preview

              Version 2.0.0

              Added onDismiss

              NavigationCoordinatorDemo.zip
              • 304 KB
              Resources.zip
              • 17.4 KB

              Video Documentation for v.1.0.0

              SwiftUI Coordinator Pattern: Everything You Need to Know
                Preview

                Version 1.0.0

                NavigationCoordinatorDemo.zip
                • 244 KB
                Resources.zip
                • 16.4 KB

                Compatible with:

                iOS14+ ・ macOS11+・ tvOS14+・ watchOS7+ ・ visionOS1+