Debugging in Xcode 13: Tips & Tricks (2022) - iOS
Vložit
- čas přidán 16. 07. 2024
- In today's video we will look at various D bugging techniques in ex code 13. We will dive into the world of breakpoints, symbolic break points, injection of code, the LLDb debugger, and a variety of other tools. We will debug a real world application to get a sense of what we can do using Swift.
💻 Source Code: / iosacademy
🎥 Subscribe for more: czcams.com/users/iOSAcademy?su...
😎 Like my teaching style? Check out some of my most popular courses! courses.iosacademy.io
👉🏼 Connect (personal LinkedIn) / afrazsiddiqui
🚀 Follow on LinkedIn / ios-academy
** Popular Series
Building Instagram: courses.iosacademy.io/p/build...
Building TikTok: / @iosacademy
SwiftUI for Beginners: ios-academy.teachable.com/p/s...
** Get Skillshare free for 2 Months and learn iOS
www.skillshare.com/r/user/afraz
** Manage all your investments from app earnings on Betterment!
bit.ly/3eBwlI9
** Grow your own CZcams tech channel with TubeBuddy:
www.tubebuddy.com/iosacademy
#swift #Xcode #iOS
The expression tip for runtime injection is really useful in large code bases, a real hidden gem 💎
Thanks!
Great content as usual, can't believe that watching this video helped me debug a weird bug(I did not even know where to start before), thanks so much for producing great content, that'd normally be expensive to access
Glad it helped!
Injecting code on runtime is gonna save lot of time, really helpful techniques. Thanks.
Thanks
Learned several things that I was not aware were available. Great start and ready to see your future debugging videos! Some topics I would like are setting breakpoints based on values and how to trace down some of these "Failed to log metrics" errors in SwiftUI. Thanks for the video!
Thanks
Thanks so much for this content 🙏 Really helps me out
Really helpful debugging tips. Thank you for making this video!
Youre welcome
Those are really helpful tips 💪🏻
Always love your video, I have to mention that your code and tutorials are basis of my first iOS app that I am still working on. Would also appreciate it if you can share more insights about different architectures, specifically, I heard about TCA, while I developed my app in MVVM (UIKit + SwiftUI + Combine). Some people mention that SwiftUI should not be using MVVM.
Youre welcome!
Thanks man! I found it really usefull.
Wow Finally you did it Afraz. Thanks a lot brother. You are generous and genuine. Looking forward to learn a tons of iOS stuffs from you. Again Thanks a lot and means a lot as I was requesting you couple of times.
Youre very welcome! Always try to do my best
@@iOSAcademy You are doing phenomenal and Your iOS Academy will be the best learning resources on iOS Programing. Even I always shared this channel with my friends and co-workers. Keep reaching the Star ! Respect and Love from New York.
This is a great refresher. 👍🏻
Thanks
just awesome!
These are awesome 🔥
Thanks!
Great video! Hands down one of the best video I've seen on LLDB (believe me I've searched near & far :) ).
Hopefully, you can make another more detailed follow-up video for advanced debugging too - with specific focus on detecting/debugging constraint issues.
Thanks
If you want very in-depth and more descriptive information that you didn't even know exist, I recommend watching the Apple WWDC debugging videos, especially since 2018 it's still relevant.
very useful video. Thank you!
Youre welcome
Printing View Hierarchy is very helpful technique in a large projects. Thanks man!
Youre welcome
You can also do "expression -l objc -O -- [`self.view` recursiveDescription]" if you've hit a breakpoint inside a UIViewController. The "`self.view`" is Swift code, the rest is Objective-C format. Idk why CZcams is adding a strikethrough format but it's dash l and dash O.
I have learned something, thank you
Youre welcome
Thank you @iOS Academy, your lessons help me to become iOS developer and finally get hired
Congrats! Huge props to you and your hard work
thank you so much
Youre welcome
Thanks a lot:)
Youre welcome
It really surprise me when i watch the injecting expression through breakpoint scene. I wish i know that a little bit sooner hehehe, Thanks Afraz!
Youre welcome
Conditional break point is another great debugging feature
Yes!
runtime injection can be really useful as well as symbolic breakpoint. Can we use symbolic breakpoint for variables? If not then whats the alternative for watch var in Xcode and how to use it.?
Hi Brother, Hope you are doing well. I have a request. I recently tried to learn about iOS login Authentication and how it works while you have a sign in option in your app and under the hood how to pass the token, where to store and how the mechanism works. I encountered this questions a lot overtime. When you get chance, please create a tutorial on top of it please please. Thanks a lot.
😃Tks
Youre welcome
🔥🔥🔥
Thanks
What is a frame in the debugging context?
When I throw swift error in expression nothing happens, but it works without lldb error.
When I type expr -l objc -O --[UIViewController _printHierarchy], console - error: :1:2: use of undeclared identifier 'l' (My app write on swift UI). Hpw I can resolve that?
Hello ,I paid the subscription to get the source code but I can not fin it, can you help me
🤯🤯🤯🤯🤯
Lol thanks
thanks for this useful video!
it's only me thinking that Xcode's debugger is the worst thing ever?
all the time when i'm trying to debug something he doesn't know what i want from him or what to do.
i always get errors like:
error: expression failed to parse:
error: Couldn't realize type of self.
or
error: expression failed to parse:
error: :2:11: error: cannot find type '$__lldb_context' in scope
extension $__lldb_context {
^~~~~~~~~~~~~~~
even for the simplest code, it doesn't understand what I want from it and it's very frustrating.
i can't believe the apple have such a bad product.
3:50 my designers are evil 🤣
Lol
(lldb) aka Thanos snapped his fingers
What is your accent?
I dont think I have one?
@@iOSAcademy Probably from USA, as they think they don't have an accent 🤣
Great video. To avoid typing in long commands in lldb it's pretty simple to create an alias in .lldbinit. Looking into FB's chisel is also worth it it has a lot of useful stuff, ie. the print hierarchy is simply "pvc"
Thanks