Jason Dubon
Jason Dubon
  • 193
  • 220 327
Building Complete Fitness App Using SwiftUI, HealthKit, MVVM, & Source Control | FULL COURSE
In this video we build a complete fitness application using SwiftUI, HealthKit, MVVM, Source control (source-tree) and Firebase. Happy Coding!! 🚀
Source code (contains git history): www.patreon.com/posts/source-code-pro-108257058?Link&
0:00 Intro
1:03 Git & Proj Setup
30:53 HomeView
1:18:15 HealthKit & HealthManager
2:21:03 SwiftCharts & ChartsView
3:02:13 Paywall & RevenueCat
3:45:32 Leaderboards & Firebase
5:07:25 ProfileView
5:53:15 Error Handling & Swift Concurrency
6:39:56 Home Refactoring & Cleanup
7:16:10 App Icon & TestFlight
7:39:00 iOS 17 Improvements
7:59:41 Outro
----------------- Follow Me On Social Media --------------------
LinkedIn: www.linkedin.com/in/jasondubon/
Twitter: JasonDubonYT
Instagram: thedubon
TikTok: www.tiktok.com/@thedubon
#swiftui #mvvm #iossourcecontrol
Переглядів: 3 477

Відео

Live from WWDC24, Swift Assistant, One More Thing Conf, and more with Bryce Ellis | iOS Dev Podcast
Переглядів 1032 місяці тому
Live from WWDC24, Swift Assistant, One More Thing Conf, and more with Bryce Ellis | iOS Dev Podcast
How to Make A Network Request with Combine in SwiftUI
Переглядів 8585 місяців тому
In this video we go over how you can start using Combine to make network requests in your applications built in SwiftUI. We use the Football/Soccer API which gives us data from around the world. Source code: www.patreon.com/posts/making-network-99251385?Link& Let me know in the comment section what videos you would like to see in the future. Feel free to reach out to me if you need any help or ...
Going From Dead-End Job to Pro iOS Developer with Kilo Loco | iOS Dev Podcast #27
Переглядів 6006 місяців тому
Aspiring iOS Developers: breakintoios.com/ In this episode we dive into Kilo Loco's (Kyle Lee) story of becoming an iOS developer from service worker and how he did it and built a successful career as an iOS developer. Kilo Loco also has a UA-cam channel where he dives into software development. Kilo Loco Twitter: Kilo_Loco Follow Me On Social Media LinkedIn: www.linkedin.com/in/jas...
Building Secure Mobile (iOS) Applications with Dave Poirier | iOS Dev Podcast #26
Переглядів 3466 місяців тому
Aspiring iOS Developers: breakintoios.com/ In this episode we dive into app security, building secure and sustainable iOS apps, the dos and donts of cybersecurty and how nothing is really secure 👀. Dave Poirier LinkedIn: www.linkedin.com/in/dave-poirier-a9b25a9/ Follow Me On Social Media LinkedIn: www.linkedin.com/in/jasondubon/ Twitter: thejasondubon
Is VisionPro a FLOP?? | VisionOS Dev Podcast #25
Переглядів 1396 місяців тому
Aspiring iOS Developers: breakintoios.com/ In this episode we dive into the new Vision Pro give our thoughts and Bryce unveils his initial experience and thoughts on the revolutionary device. #iosdev #visionpro #visionos
How to Get Started with XCTest in SwiftUI | Break into iOS
Переглядів 2627 місяців тому
This is a recording from a coaching session in Break into iOS. React out to me on LinkedIn for details. LinkedIn: www.linkedin.com/in/jasondubon/
Breaking into iOS Development & Landing First iOS Dev Job with Bryce Ellis | iOS Dev Podcast #24
Переглядів 3887 місяців тому
In this episode of the iOS developer podcast, Bryce and I, dive into his journey into iOS development and the process to the get there. Break into iOS: www.breakintoios.com/ UA-cam Video: ua-cam.com/video/hi5i7i4pTts/v-deo.html Audio Version: podcasters.spotify.com/pod/show/iosdevpodcast 0:00 Breaking into iOS with Bryce Ellis 6:00 Application Journey 11:50 Advice for first day as iOS developer...
Four Lessons Learned in 2023 From Other iOS Developers and More | iOS Dev Podcast #23
Переглядів 2847 місяців тому
In this episode of the iOS developer podcast, a solo episode giving a recap of lessons I learned from talking to some of the best iOS developers in the world and through building my own apps. Break into iOS: www.breakintoios.com/ UA-cam Video: ua-cam.com/video/bosY4PKxPac/v-deo.html Audio Version: podcasters.spotify.com/pod/show/iosdevpodcast (0:00) Four Lessons Learned From Some of Best iOS De...
FULL STACK Discord Clone with SwiftUI, Supabase, User Auth, and Database Functions & Triggers
Переглядів 3,9 тис.8 місяців тому
FULL STACK Discord Clone with SwiftUI, Supabase, User Auth, and Database Functions & Triggers
How to Prep and Pass iOS Developer Interviews with Mayank Gupta | iOS Dev Podcast #22
Переглядів 1,6 тис.9 місяців тому
How to Prep and Pass iOS Developer Interviews with Mayank Gupta | iOS Dev Podcast #22
Looking for next iOS role
Переглядів 3569 місяців тому
Looking for next iOS role
Building Twitch Like Streaming Platform in SwiftUI
Переглядів 7339 місяців тому
Building Twitch Like Streaming Platform in SwiftUI
What It Takes To Build A Saas with Mac Martine | iOS Dev Podcast #21
Переглядів 1879 місяців тому
What It Takes To Build A Saas with Mac Martine | iOS Dev Podcast #21
How to Build Apple Watch Companion App in SwiftUI & Xcode
Переглядів 12 тис.9 місяців тому
How to Build Apple Watch Companion App in SwiftUI & Xcode
Firebase Auth Crash Course in SwiftUI (How To Add User Authentication in App)
Переглядів 2,5 тис.9 місяців тому
Firebase Auth Crash Course in SwiftUI (How To Add User Authentication in App)
Evolving as Your App Grows in Users with Chris Vasselli | iOS Dev Podcast #20
Переглядів 2079 місяців тому
Evolving as Your App Grows in Users with Chris Vasselli | iOS Dev Podcast #20
Macronutrient Tracker in SwiftUI Episode 8 - UI Updates
Переглядів 4089 місяців тому
Macronutrient Tracker in SwiftUI Episode 8 - UI Updates
Error Handling & Bug Fixes with OpenAI API in SwiftUI | Macro Tracker Episode 7
Переглядів 3379 місяців тому
Error Handling & Bug Fixes with OpenAI API in SwiftUI | Macro Tracker Episode 7
A Guide To Freelancing As A Developer with Rudrank Riyam | iOS Dev Podcast #19
Переглядів 3959 місяців тому
A Guide To Freelancing As A Developer with Rudrank Riyam | iOS Dev Podcast #19
How To Launch Your iOS & Swift Tutorial on YouTube #buildinpublic
Переглядів 23010 місяців тому
How To Launch Your iOS & Swift Tutorial on UA-cam #buildinpublic
Displaying SwiftData Models & Map, Filter, Reduce in SwiftUI | Macro Tracker Episode 6
Переглядів 59310 місяців тому
Displaying SwiftData Models & Map, Filter, Reduce in SwiftUI | Macro Tracker Episode 6
SwiftData: Creating A Model, Write & Read A Macro | Macro Tracker Episode 5
Переглядів 64010 місяців тому
SwiftData: Creating A Model, Write & Read A Macro | Macro Tracker Episode 5
How I would become an iOS Developer in 2023 | iOS Dev Podcast #18
Переглядів 63710 місяців тому
How I would become an iOS Developer in 2023 | iOS Dev Podcast #18
Adding Macro Item to Macronutrient Tracker using SwiftUI | Episode 4
Переглядів 45710 місяців тому
Adding Macro Item to Macronutrient Tracker using SwiftUI | Episode 4
Decoding ChatGPT Response in Swift | Macro Tracker Episode 3
Переглядів 75210 місяців тому
Decoding ChatGPT Response in Swift | Macro Tracker Episode 3
Mindset of A Developer & Indie Hacking with Logan Koshenka | iOS Dev Podcast #17
Переглядів 21710 місяців тому
Mindset of A Developer & Indie Hacking with Logan Koshenka | iOS Dev Podcast #17
Integrating ChatGPT & OpenAI Function Calling in Swift | Macro Tracker Ep. 2
Переглядів 2,9 тис.10 місяців тому
Integrating ChatGPT & OpenAI Function Calling in Swift | Macro Tracker Ep. 2
Growing Your Apps with Pietro Messineo | iOS Dev Podcast #16
Переглядів 29510 місяців тому
Growing Your Apps with Pietro Messineo | iOS Dev Podcast #16
Building A Macro Tracking App using SwiftUI | Episode 1
Переглядів 1,8 тис.11 місяців тому
Building A Macro Tracking App using SwiftUI | Episode 1

КОМЕНТАРІ

  • @sebasyanni1258
    @sebasyanni1258 6 днів тому

    I do that and recluters think im sr but im looking for my first job, then they realized im jr and tell me they need someone with experience.. 😢

  • @bjp_for_2024
    @bjp_for_2024 10 днів тому

    free code available?

  • @albert4392
    @albert4392 15 днів тому

    Hi, thanks for the video, but this chat app is not real-time is it? Say another person sent me a message, it does not pop up on my screen immediately?

  • @EBJONA
    @EBJONA 16 днів тому

    Very helpful! Thanks a ton

  • @benjenkins2415
    @benjenkins2415 18 днів тому

    Great set of videos. Like others, I am thankful for your videos on Swift/Supabase integration. Learn by doing! Thank you!

  • @tylerdurden4285
    @tylerdurden4285 19 днів тому

    Great topic. Thank you.

  • @benjenkins2415
    @benjenkins2415 20 днів тому

    Really interesting. I am stuck at enabling Apple login within Supabase. I know you said the Secret Key doesn't matter, but I can't save it without something there. What did you do? It needs some JWT.

    • @benjenkins2415
      @benjenkins2415 20 днів тому

      For any interested, I found the solution. It's convoluted, but I had to sign in to my Apple Dev account, create a key file, generate a secret key (via Ruby) and then update Supabase. It worked, but, man, it's a slog.

    • @abdulazizdavurov1206
      @abdulazizdavurov1206 18 днів тому

      @@benjenkins2415 hi can you share code. I am facing same problem. I generated auth key file and stuck there cannot find secret key

  • @joshuathomasbrooks9450
    @joshuathomasbrooks9450 20 днів тому

    can you run videos on how to add google ads and cocoapods and such. having trouble.

  • @anhhanry7167
    @anhhanry7167 23 дні тому

    since you are asking: so could provide a tutorial how to make a slideOut Controller in which tab a uibuttonbar (or pan gesture) to move / slide the view of the controller to reveal a menu underneath to select a new view controller ( then animation to close the current display VController and load a new, selected Vcontroller ), thanks and looking forward to this.

  • @alielbroadcaster
    @alielbroadcaster 25 днів тому

    What app is that in your chrome new tab?

  • @germangonzalez1729
    @germangonzalez1729 28 днів тому

    Thanks man, But when I try to enter a food item, it doesn't show up in the previous

  • @germangonzalez1729
    @germangonzalez1729 28 днів тому

    Thanks man, But when I try to enter a food item, it doesn’t show up in the previous 😢

  • @bryceellis112
    @bryceellis112 28 днів тому

    Great episode so far! I hear there's more than one way to center homeView at 53 min mark // Option 1 VStack { Spacer() content Spacer() } // Option 2 content .frame(maxHeight: .infinity, alignment: .center)

  • @JosseSapon
    @JosseSapon 28 днів тому

    On patreon what level of membership should I pay to get the full code?

    • @jasondubon
      @jasondubon 28 днів тому

      The 25 dollar one comes with full code but also the 99 is cool too 😎

    • @JosseSapon
      @JosseSapon 28 днів тому

      @@jasondubon ok thanks 👍

  • @plugk3557
    @plugk3557 Місяць тому

    nah this is crazy you really built the full thing wtf

  • @HarrisonCarroll-r7d
    @HarrisonCarroll-r7d Місяць тому

    Amazing Video but can you make more apps using supabase. Also, can you do a video on Resetting passwords. Pleasee I really need this for my app. Thanks

  • @franckmbeutcha2738
    @franckmbeutcha2738 Місяць тому

    Thank you, this is amazing

  • @sophieliu4726
    @sophieliu4726 Місяць тому

    Hi, while following your examples, I encountered this error when I was converting the fetched data into a list of my own struct in the line "let output = try decoder.decode([Data_film].self, from: response.data)" keyNotFound(CodingKeys(stringValue: "imdb_id", intValue: nil), Swift.DecodingError.Context(codingPath: [_JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"imdb_id\", intValue: nil) (\"imdb_id\").", underlyingError: nil)) "imdb_id" is present in both my supabase table and Data_film. how do I solve this? Does the order of the supabase columns/struct variables matter? Thank you so much

    • @sophieliu4726
      @sophieliu4726 Місяць тому

      Interesting that when i deleted the line "decoder.keyDecodingStrategy = .convertFromSnakeCase" everything worked💀 why could it be?

  • @paschalkings8184
    @paschalkings8184 Місяць тому

    this is amazing

  • @wildanalifr9583
    @wildanalifr9583 Місяць тому

    It's very informative this course. Btw i'm front end developer with 1-2 years, i want switch to ios dev, should back to internship? and looks job ios dev in my country is very rare now. thanks...

  • @bryceellis112
    @bryceellis112 Місяць тому

    Top advice

  • @C_itsNemo
    @C_itsNemo Місяць тому

    This is clutch! Im working to be a iOS developer

  • @RohitDas-kf9iz
    @RohitDas-kf9iz Місяць тому

    Thanks Jason , really appreciate what you are doing for the community

  • @DD-ds7ui
    @DD-ds7ui Місяць тому

    cool 😎👍🏼👍🏼

  • @jeegrandmaster
    @jeegrandmaster Місяць тому

    noice... thanks

  • @ellafontenot1052
    @ellafontenot1052 Місяць тому

    how do you fix the clientID for production?

    • @jasondubon
      @jasondubon Місяць тому

      @@ellafontenot1052 is this about the firebase clientID? From my understanding it’s fine to have that in your source code as firebase has an app check system that checks whether the request is coming from device

  • @DavidHolloman-ek4ti
    @DavidHolloman-ek4ti Місяць тому

    What history 😂😂😂😂😂😂

  • @johnhalley5063
    @johnhalley5063 Місяць тому

    thank you! you saved me a lot of time. thank you for the tutorial.

  • @pradipdeore8068
    @pradipdeore8068 Місяць тому

    I am ios developer currently going through job search after layoffs. Not getting callbacks making me nervous. But just listened this discussion and it’s super helpful for person like me. Thanks to both of you.

  • @DaveJacobseniOS
    @DaveJacobseniOS Місяць тому

    Quality strategies and reflections. Thanks for sharing your experiences ✌

  • @bjp_for_2024
    @bjp_for_2024 Місяць тому

    code?

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

    Awesome video - thank you!

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

    We didn’t get the answer

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

    ua-cam.com/video/6I2JEky20ME/v-deo.html

  • @user-rf1mw1fe8i
    @user-rf1mw1fe8i 2 місяці тому

    Спасибо

  • @5280c
    @5280c 2 місяці тому

    At a couple spots, such as 9:41, you click around too fast to follow. You changed files before finishing what you were typing. It appears you didn't post the code anywhere for some reason as well, so I can't reference that to see what the code is supposed to look like.

    • @5280c
      @5280c 2 місяці тому

      Was able to find a fix for the error I got stuck on. The video is mostly fine, but you're quite squirrelly. Grabbing code off Stack Overflow during the video, mumbling sometimes, etc. This video would have been a lot better had you been more prepared, moved a little slower, and put the finished product on Github for reference.

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

    love dan. he's helped me a lot

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

    thx bro :)

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

    Is it possible to grieve your own life, does that involve an ego death or no?

    • @brodobaggins9781
      @brodobaggins9781 Місяць тому

      Grieve your own existence? Or Grieve the reality that we all will die one day?

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

    Why do people feel the need to show themselves on their tutorial videos? lol. We need to stop doing that.

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

    Thank you for this! Btw audio from you is a bit muffed

  • @marwaawad3677
    @marwaawad3677 3 місяці тому

    thank youu!!!

  • @TheDavid1234abcd
    @TheDavid1234abcd 3 місяці тому

    I enjoy this guy's iOS dev stuff. But the problem with the way this guy built his MacroTracker is it is fundamentally insecure cause the API KEY is hard coded into the actual app. Which is fine if you are just building something for fun. But if you are releasing to the app store don't do this use Google Cloud Functions, Flask etc....

    • @jasondubon
      @jasondubon 3 місяці тому

      Yeah definitely don’t leave the key in the app, that’s a no no that will show up in your OpenAI billing statement

  • @rxlover6042
    @rxlover6042 3 місяці тому

    Bro I need to your help

  • @leprosy2099
    @leprosy2099 3 місяці тому

    I had an ego death on Acid and Mushrooms. It was the most insane experience of my life, everything we perceive is just our imaginations at the end of the day, speech is just a sound, but what is sound? Something we can hear. What’s hearing? What’s a word? A label we created to describe something unexplainable? It makes you absolutely question reality. No one can truly understand what an ego death is because we are all just perceiving what we believe to be true.

  • @zeynepsevgi4903
    @zeynepsevgi4903 3 місяці тому

    can you help me how to solve this error nw_proxy_resolver_create_parsed_array [C1.1.1.1 proxy pac] Evaluation error: NSURLErrorDomain: -1003 @jasondubon

  • @marvelrivera1194
    @marvelrivera1194 3 місяці тому

    Great video. Really appreciate

    • @jasondubon
      @jasondubon 3 місяці тому

      Glad it was helpful!

  • @syedazeemjaved
    @syedazeemjaved 3 місяці тому

    When working with an async server (let's say FastAPI in this case), how do you properly handle the reference to pyrebase / firebase so that it can be accessed by all the requests coming in?

  • @Stefan-sj1ic
    @Stefan-sj1ic 3 місяці тому

    Hey Jason, great vid. When I'm trying use the response as you have it "let data = response.underlyingData.data", I get the error: Value of type 'PostgrestResponse<Void>' has no member 'underlyingData'. Can't for the life of me figure out how to get around this. Any idea?

    • @jasondubon
      @jasondubon 3 місяці тому

      The way for grabbing data has changed since supabase updated the SDK. You can go on their documentation and see it there. It should be under swift section for fetching data

    • @natasharadika
      @natasharadika 3 дні тому

      hi Stefan did you solve this? I followed the documentation and changed it to resonse.value, but it return empty (). EDIT: i fixed it, changed it to let response : [ToDo] = try await client.from("todos").select().eq("user_uid", value: uid).order("created_at", ascending: true).execute().value and print(response)

  • @SurajBhatt-hg6yz
    @SurajBhatt-hg6yz 3 місяці тому

    Please help me to create a chat screen in SwiftUI while ensuring two critical aspects: 1.Keeping the header section fixed in its position, unaffected by the keyboard's appearance. 2.Ensuring that the message section scrolls up along with the text field only when there are enough messages in the chat, akin to the behavior observed in popular messaging applications such as WhatsApp.