Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

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 … 

 

Rich notifications on iOS explained in Swift

Rich notifications on iOS allow us to make the boring default notification just a little nicer by adding images, GIFs, and buttons. Introduced in iOS 10 and enhanced in later OS updates it’s a feature that cannot miss when you support notifications in your app. Testing push notification on iOS Before we start implementing it’s … 

 

Struct vs classes in Swift: The differences explained

Swift brings us classes and structs which both can look quite similar. When should you use a struct and when should you go for a class? Cannot assign to property: function call returns immutable value You’re probably not the first to just simply fallback to changing your type to a class when an error like … 

 

Xcode Instruments usage to improve app performance

Xcode Instruments is a developer tool that comes for free with Xcode. It has a lot of useful tools to inspect and improve your app. Although it has a lot to offer, it’s often an area which is a bit less known. In this blog post, I’ll show you how I’ve improved the performance in … 

 

Error handling in Combine explained with code examples

Once you get started with Combine you’ll quickly run into error handling issues. Each Combine stream receives either a value or an error and unlike with frameworks like RxSwift you need to be specific about the expected error type. To be prepared on those cases I’ll go over the options available in Combine to catch, … 

 

Array vs Set: Fundamentals in Swift explained

An Array and a Set seem to be quite the same in the beginning. They’re both collection types and have quite a lot of similarities. Still, we’re often tempted to use Arrays instead of Sets. While this does not have to be a problem it could definitely be better to sometimes go for a Set … 

 

Xcode refactoring options explained with examples

A brand new Xcode refactoring engine was introduced in Xcode 9. Although this is quite a few Xcode versions ago it is still a quite unknown functionality for a lot of us. You might have read my blog post on command-click options but do you know how to extract methods or variables? The Xcode refactoring … 

 

Unused images and resources clean up in Xcode

Unused images can exist as a result of iterations in a project. Once a feature is no longer needed and remove, it’s not always cleaned up completely. Therefore, it’s useful to know how to clean up your Xcode assets. Just like in my blog post on cleaning up unused localized strings, I’ll go over a … 

 

UIKeyCommand how-to add keyboard shortcuts & speed up your workflow

The UIKeyCommand class allows you to add keyboard shortcuts to your app. Although they might seem useful for iPad only, there are reasons to add this to your iPhone app as well. They’re easy to set up and they work in the simulator! After I wrote Shortcuts essentials in Xcode to speed up your workflow … 

 

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 …