Learn Swift and iOS Development
Master iOS development through in-depth tutorials and comprehensive courses on Swift, SwiftUI, UIKit, Core Data, and more.
Master iOS development through in-depth tutorials and comprehensive courses on Swift, SwiftUI, UIKit, Core Data, and more.
6:43
A few years ago, Apple added support for detecting potential issues at runtime. Runtime issues show up as purple issues in Xcode's Issues Navigator. They are easy to miss or ignore, but they are just as important as errors at compile time.
in Xcode
4:25
In the previous video, we used the Swift error breakpoint to suspend the process of the app if an error is thrown in your code or the code of a library or framework. The exception breakpoint works in a similar way. The difference, as you may have guessed, is that the debugger suspends the process of the app if an exception is thrown.
in Xcode
7:34
Error handling is a key aspect of the Swift language. In several ways errors in Swift are similar to exceptions in Objective-C and C++. Both errors and exceptions indicate that something didn't go as planned. The Swift error and exception breakpoints are useful to debug scenarios in which errors or exceptions are thrown.
in Xcode
6:07
Earlier in this course, we briefly explored the types of breakpoints you can use in Xcode. In the previous video, we focused on file and line breakpoints. This video zooms in on symbolic breakpoints.
in Xcode
11:22
When you are debugging a complex problem, you quickly end up with dozens of breakpoints scattered across your project or workspace. I would like to start this video by showing you how you can stay on top of the breakpoints in a project or workspace.
in Xcode
9:58
In the previous video, you learned what a breakpoint is and what types of breakpoints Xcode supports. In this video, we step through code using a breakpoint and the debug bar we explored earlier in this course.
in Xcode
8:45
Breakpoints are indispensable for debugging problems in a software project. Debugging an app with breakpoints can seem complex at first, but it isn't difficult once you understand what is going on. While the underlying concept of debugging with breakpoints is simple, you can make it as complex as you want to fit your needs.
in Xcode
10:03
Xcode offers developers a mature development environment with a powerful debugger. Under the hood, Xcode's debugging tools take advantage of LLDB, the debugger of the LLVM project. It isn't necessary to have a deep understanding of LLDB or LLVM to make use of Xcode's debugging tools, but it certainly doesn't hurt to become familiar with LLDB or LLVM.
in Xcode
8:05
Everyone makes mistakes, and developers are no different. As a developer, you spend a significant portion of your time debugging the code you write. It is an inextricable aspect of software development. Some bugs are easy to find, while others can make you scratch your head.
in Xcode
6:50
The Swift Package Manager has come a long way and support for Xcode improves with every release of Apple's IDE. Even though there are several third party solutions for managing the dependencies of a project, CocoaPods and Carthage being the most popular, the Swift Package Manager has become a viable option in recent years. In this episode, I show you how to add a Swift package to a project in Xcode.
in Xcode
6:02
To be productive and efficient, you need to know your tools. For a Swift developer, that means mastering Xcode. While Xcode is a complex piece of software with a fairly steep learning curve, the tricks I show you in this episode should significantly boost your productivity.
in Xcode
10:49
The memory graph debugger built into Xcode is a very welcome addition for debugging memory issues. In the previous episode, we resolved a memory issue we discovered somewhat by accident. While it can be useful to use the memory graph debugger to investigate complex object graphs, it would be convenient if Xcode warns us about possible memory issues. And that's exactly what the memory graph debugger does.
in Xcode
12:14
Xcode's built-in view debugger highlights some of the advantages visual debugging has to offer. I hope that the previous episodes have illustrated that debugging user interface issues is more efficient with Xcode's view debugger.
in Xcode
7:48
In the previous episode, we explored Xcode's built-in view debugger and you learned how the view debugger can help debug problems related to the user interface. Remember from the previous episode that I introduced several user interface issues in Cloudy. Let's find out how we can leverage the view debugger to discover and resolve these issues.
in Xcode
11:22
The past episodes of this series have illustrated how useful breakpoints can be for debugging problems. But Xcode has more in store for us. Not every problem can or should be debugged with breakpoints. Issues related to the user interface of your application are often best tackled with Xcode's built-in view debugger. In this episode, we explore the view debugger built into Xcode.
in Xcode
9:41
The test failure and constraint error breakpoints are lesser known breakpoint types. When used correctly, however, they can be quite useful. Let's start with the test failure breakpoint.
in Xcode
10:29
Error handling is a key aspect of the Swift language. In several ways errors in Swift are similar to exceptions in Objective-C and C++. Both errors and exceptions indicate that something didn't go as planned. The Swift error and exception breakpoints are useful to debug scenarios in which errors or exceptions are thrown.
in Xcode
6:13
Earlier in this series, I briefly listed the types of breakpoints you can use in Xcode. In the previous episode, we focused on file and line breakpoints. This episode zooms in on symbolic breakpoints.
in Xcode
10:40
When you're debugging a complex problem, you quickly end up with dozens of breakpoints scattered across your project or workspace. I'd like to start this episode by showing you how you can stay on top of the breakpoints in a project or workspace.
in Xcode
14:07
Breakpoints are indispensable for debugging problems in a software project. Debugging an application with breakpoints can appear complex at first, but it isn't difficult once you understand what's going on. While the underlying concept of debugging with breakpoints is simple, you can make it as complex as you want.
in Xcode
9:20
Xcode offers developers a mature development environment with a powerful debugger. Under the hood, Xcode's debugging tools take advantage of LLDB, the debugger of the LLVM project. It isn't necessary to have a deep understanding of LLDB or LLVM to make use of Xcode's debugging tools, but it certainly doesn't hurt to become familiar with LLDB and LLVM.
in Xcode
7:52
Everyone makes mistakes and developers are no different. As a developer, you spend a significant portion of your time debugging the code you write. It's an inextricable aspect of software development. Some bugs are easy to find while others can make you scratch your head.
in Xcode
There are many tutorials and courses available to get started with Swift development. The issue with many online resources is that they're focused on a specific topic, ignoring essential aspects of Swift development. What teachers often forget is that developers new to a language, a framework, or a technology, are very receptive to new information. This includes best practices, but, unfortunately, it also means less good practices or even bad habits.
in Xcode
Xcode ships with a powerful debugger. It's power comes from LLDB, the debugger of the LLVM project. In this tutorial, I want to share a tip few developers know about. Although I have been using Xcode for more than a decade, I only discovered it recently.
in Xcode
Apple introduced Developer Mode in iOS 16, iPadOS 16, and watchOS 9 to further protect the user's privacy and security. As a developer, you need to enable Developer Mode on your device (without Xcode) if you want to run your app on your device. This is easy to do.
in Xcode
Most developers run into the Xcode Failed to Prepare Device for Development error at some point in their career. It can be frustrating because the error isn't very helpful. In this tutorial, I share four possible causes and provide some tips to resolve the problem.
in Xcode
I write this post in part for my future self because I run into this issue at least once a year. The story goes something like this. You are using Xcode 14 for your daily development and Apple releases iOS 17. You eagerly upgrade to iOS 17 to try out the latest and greatest Apple has to offer. The next time you try to deploy a build to that device, Xcode shows you a dialog that says Could not locate device support files.
in Xcode
Xcode is an advanced IDE (Integrated Development Environment) and it isn't always obvious how to perform seemingly trivial tasks, such as adding a scheme. In this post, I show you in a few simple steps how to add a scheme in Xcode.
in Xcode
Developers new to Apple's platforms are often confused by Xcode. In this post, I answer a handful of common questions about Apple's IDE.
in Xcode
Debugging isn't the most enjoyable aspect of software development, but, whether you like it or not, it is an integral component of building applications. This means that it is essential to learn how to efficiently debug problems. But where do you start? Which tools do you have at your disposal? And when should you use which tool?
in Xcode
I don't know about you, but I can't work in a code editor that doesn't show me line numbers. Xcode is no different. Line numbers in Xcode make it easy to quickly navigate to a piece of code.
in Xcode