Look At How Easy Navigation In SwiftUI Is Now!!! | A Complete SwiftUI Navigation Guide

Поділитися
Вставка
  • Опубліковано 3 лип 2024
  • Look At How Easy Navigation In SwiftUI Is Now!!! | A Complete SwiftUI Navigation Guide
    In this jam packed vid, you’re going to learn swiftui navigation like a pro. We’re going to start of with some SwiftUI basics in this SwiftUI navigation tutorial and then build our way up to some more advanced SwiftUI topics such as iOS deep links, iOS push notifications & SwiftUI MultiPlatform App.
    By the end of this SwiftUI tutorial, you should have everything you need to get started with navigation in SwiftUI.
    **********************************
    Timestamps:
    00:00:00 - Intro - Intro To NavigationStack In SwiftUI
    00:01:26 - Le Problem
    00:02:21 - Brief Project Breakdown
    00:03:05 - How To Replace A NavigationView With A NavigationStack In SwiftUI
    00:06:13 - How To Use navigationdestination In SwiftUI
    00:09:29 - How To Use Custom Types With Navigation Destination
    00:13:22 - How To Add Multiple Navigation Destinations In SwiftUI
    00:22:00 - How To Use NavigationPath In SwiftUI
    00:30:59 - iPad support and styles
    00:31:48 - Summary - Intro To NavigationStack In SwiftUI
    00:32:59 - Project Breakdown
    00:33:55 - Creating a NavigationRouter with Enums
    00:46:24 - Navigating programatically one level deep within Navigation Stack
    00:50:29 - Popping back programatically using NavigationPath
    00:55:12 - When to use NavigationPath & Limitations
    00:56:35 - Refactoring our Routes to be an array of Enums
    01:07:05 - Handling navigation 2+ levels deep programatically
    01:16:08 - Popping back to specific screens programmatically
    01:19:35 - Writing Unit Tests In Swift for our RouteManager
    01:27:57 - Summary - SwiftUI Programmatic Navigation
    01:28:22 - Intro - Deep Linking in SwiftUI
    01:29:15 - What Is Deeplinking?
    01:30:11 - Brief Project Breakdown
    01:30:58 - How To Configure Universal Links In Xcode
    01:33:06 - Testing out Deep Links 3 Ways
    01:33:42 - How To Test Deep Links using the Reminders app
    01:35:12 - How To Test Deep Links In iOS Using Terminal
    01:36:38 - How To Test Deep Links on iOS Using RocketSim
    01:40:44 - How To Deep Link To A Screen In SwiftUI
    01:46:32 - Building Our Deep Link Finder
    01:53:37 - How To Pass Data In A Deep Link In Swift
    02:02:32 - Manipulating the NavigationStack via a Deep Link
    02:09:59 - How To Fetch A Single Product Using A Deep Link
    02:20:03 - Handling Invalid Products Using Deep links
    02:24:09 - How To Use ShareLink In SwiftUI To Share A Product
    02:35:20 - How To Write Unit Tests In Swift For Our Route Finder
    02:42:25 - Summary - Deep Linking in SwiftUI
    02:42:54 - Intro - iOS Firebase Push Notifications Deep Linking
    02:43:47 - Project Breakdown
    02:44:23 - How To Ask For Permission To Use Notifications In Swift
    02:53:50 - Working With APNS Payload
    03:01:28 - How to add an AppDelegate to a SwiftUI app
    03:04:28 - How To Use UNUserNotificationCenterDelegate In Swift To Handle Background Deep Links
    03:16:13 - How To Modify Your UI From A Push Notification Deep Link
    03:21:47 - How To Show Notifications Whilst Your App Is Open
    03:23:47 - What Is Firebase Cloud Messaging?
    03:24:51 - How To Add Push Notification Capability To A Xcode Project
    03:26:24 - How To Setup Firebase Cloud Messaging In iOS
    03:30:26 - How To Create An APNS Key In Apple Developer
    03:36:28 - Sending A Push Notification In Firebase
    03:41:00 - Summary - iOS Firebase Push Notifications Deep Linking
    03:41:28 - Intro - SwiftUI Multiplatform App
    03:42:23 - Briefly Discussing Layout on iPad on Multiplatform
    03:44:05 - How To Add Multiplatform support to your Xcode project
    03:44:34 - Building A Sidebar in SwiftUI for iPad
    03:47:21 - How To Create A 2 Column Layout on iPad with NavigationSplitView
    03:56:28 - Refactoring Our Products Fetcher
    03:58:39 - How To Handle Selection State In Our Sidebar
    04:03:01 - Building Our MenuListView for our details screen
    04:09:00 - Building Container Views For Your SwiftUI Previews
    04:11:41 - Building Our MenuGridView for our details screen
    04:16:40 - Hooking up our sidebar to our detail screen
    04:25:21 - Working with ToolBar in SwiftUI
    04:33:09 - Adapting our Toolbar based on our device
    04:37:42 - Adapting our Layout based on our settings screen
    04:40:33 - Adapting our layout based on our settings screen
    04:45:30 - Building A 3 Column Layout on iPad with NavigationSplitView
    05:00:29 - Mac Apps in SwiftUI
    05:02:50 - Deep Links on iPad in SwiftUI
    05:12:11 - How To Add Keyboard Shortcuts in SwiftUI
    05:15:23 - NavigationSplitView ColumnVisibility In SwiftUI
    05:21:51 - onHover in SwiftUI
    05:23:07 - iPad Split View & Slide Over
    05:24:45 - Summary - SwiftUI Multiplatform App
    Download Source Code
    Interested in looking at the source code? Then check out the GitHub Repo below
    github.com/tunds
    **********************************
    View Editor Keys Amazing Products with the link below and use the discount code for 10% off any product
    www.editorskeys.com/tundsdev
    Get a 10% Discount Code on any product with the code below
    TUNDSDEV
    See my keyboard cover in action with my review below 👇🏾
    • Increase Your Xcode Pr...

КОМЕНТАРІ • 19

  • @kamilsuleymanov7197
    @kamilsuleymanov7197 Рік тому +2

    5+ hours? OMG! Tnx!

  • @taslimfi
    @taslimfi Рік тому +1

    You're doing such a GREAT job Man!!!!!!

  • @mistymu8154
    @mistymu8154 Рік тому

    NavigationView was nice when it worked, but it had too many issues and differing behaviour between iOS versions so I ended up using UINavigationController just for the navigation. It works, it just added another layer of complexity with each SwiftUI view having a supporting UIViewController. Doing things like popping to the root was a lot easier with UINavigationController as well rather than injecting bindings throughout the whole app or making a global environment object to handle navigation.

  • @kmaximoff
    @kmaximoff 11 місяців тому +2

    Thanks!

    • @tundsdev
      @tundsdev  11 місяців тому +1

      Thank you!!!

  • @ColeDano
    @ColeDano Рік тому +1

    Zazooks 5 hours bruv!

  • @vittyfiorentini238
    @vittyfiorentini238 Рік тому

    Hi, updating xcode to 14.3 i receive the log "[PipelineLibrary] Mapping the pipeline data cache failed, errno22" when adding the MapView in the viewcontroller. I Receive this error only when i test on a real device not in the simulator. Can i fix it ? Is a common problem? Thanks for the time I appreciate so much.

    • @tundsdev
      @tundsdev  Рік тому

      👋🏾 Sounds like an issue with the actual MapView in SwiftUI. I think its safe to ignore this or create a feedback for Apple to investigate

  • @mikehimself909
    @mikehimself909 10 місяців тому

    Just FYI: don’t mix the old-style NavigationLink with the new value-based NavigationLink - it just pushes/pops weirdly. Love your content :)

    • @tundsdev
      @tundsdev  10 місяців тому

      Yep, I don’t mix the old style in this video. Not to sure where you saw that? This is using the latest APIs unless i have misunderstood your comment 😅

    • @mikehimself909
      @mikehimself909 10 місяців тому

      @@tundsdev Oh, it wasn’t something you did. Just something I did by being a bit lazy (a runtime error would’ve been nice) 😳 Really enjoying the videos btw - thanks :)

    • @tundsdev
      @tundsdev  10 місяців тому

      Ahh ok, you had me worried 😅

  • @mahmoudzinji5672
    @mahmoudzinji5672 4 місяці тому

    Do you have the start project on Github ? and not the complete one !

    • @tundsdev
      @tundsdev  4 місяці тому

      This video is a combination of all the videos in my navigation course playlist, you can check it out here and also access any of the source files via the GitHub repo.
      ua-cam.com/play/PLvUWi5tdh92wWS3F-AVsCJHkhBlrkBp6f.html&si=9Yjg0vlTOy8L9SFf

  • @CYMR0
    @CYMR0 Рік тому

    How are you posting this when you’re here at Deep Dish?? 😂

    • @tundsdev
      @tundsdev  Рік тому

      👀 also make sure you come say hi tomorrow 🤝

  • @vamseey1436
    @vamseey1436 2 місяці тому

    There is one weird scenario when the app goes to background the view is getting popped

    • @vamseey1436
      @vamseey1436 2 місяці тому

      Is there anything you can help me out in this I am working on wearable app and I have followed the same as you explained