The Network Link Conditioner allows you to test your apps under slow networking conditions on macOS and iOS. The tool is available for free, provided by Apple, and comes with several default network simulation profiles like 3G, Edge, and 100% loss. While the tool is built-in on iOS, you’ll need to do some extra work …
debugging
Non-fatal errors vs fatal crashes: The differences explained
Non-fatal errors happen in every application that’s developed and have a close relationship with fatal errors. Most of us know that both types of errors have an essential difference: fatal errors are not recoverable, while non-fatals are. In my 10+ years of development experience, I’ve seen many engineers ignoring non-fatal errors since they wouldn’t crash …
Overriding UserDefaults for improved productivity
UserDefaults within apps are used to store data related to user configurations. It’s an easily accessible data store for saving states, statistics, and other app-related data. Launch arguments are passed to the application on launch and can be used to alter the application for debugging purposes. It’s often used by Apple to allow developers to …
5 Xcode breakpoints tips you might not yet know
Xcode breakpoints allow us to debug and find out solutions for nasty bugs. Without breakpoints, it would be a fun fest with a lot of print statements everywhere in your code. The basic principles of breakpoints we probably all know but there’s a lot more to discover! What are breakpoints in Xcode? A breakpoint can …
Combine debugging using operators in Swift

Combine debugging can be hard with long stack traces which don’t help at all. Asynchronous callbacks follow up on each other rapidly and easily make it hard to find the root cause of an issue. It’s next to the big learning curve one of the most common reasons to not go for reactive programming in …
Debugging breakpoints as a replacement for prints
Debugging breakpoints in Xcode allows you to replace prints and reuse debugging statements in future debugging sessions. By simply enabling and disabling needed breakpoints you can also get rid of debug levels as often defined in libraries like CocoaLumberjack. Inspired by @twostraws’s debugging presentation at @AppdevconNL I now keep around breakpoints instead of print …
Core Data Debugging in Xcode using launch arguments
Core Data is Apple’s object graph management and persistency framework for iOS, macOS, watchOS, and tvOS. It’s around for a long time and therefore a great solution to use for persistent storage of structured data in your application. Core Data Debugging might be a bit hard, although some less-known functionalities in Xcode can help you …