A weekly Swift Blog on Xcode and iOS Development

If case, fallthrough, equatable, and enums in Swift

If case, guard case, fallthrough, and the CaseIteratable protocol. These are all terms which could sound familiar if you've worked a ...
Read More

Memory leaks prevention using an autoreleasepool in unit tests

Memory leaks often happen without notice. Although best practices like using a weak reference to self inside closures help a ...
Read More

QR Code generation with a custom logo and color using Swift

A QR Code is used a lot to share content or to add a new user in apps like Twitter ...
Read More

Cheat sheet examples for Xcode and Swift development

A cheat sheet can be a handy tool to quickly reference Xcode, Swift or iOS logic from a compact overview ...
Read More

SwiftLee 2018 in review: Top Swift Development blog posts

With 2019 coming closer it's time to review SwiftLee in 2018 and list the top swift development blog posts of ...
Read More

Simulator tools to get more out of the simulator

Especially the rulers can help you stop using the Mac screenshot pixel feedback to measure distance in your UI. Simulator ...
Read More

Implementing Siri support using NSUserActivity

Siri support can be added using an Intent and an IntentUI extension. This adds quite some overhead and is not ...
Read More

Speeding up with Xcode Behaviors

Xcode behaviors can change the way how Xcode responds to certain events. Default behaviors help you already by showing for ...
Read More

Authentication with signed requests in Alamofire

With almost 30.000 stars on Github, you can tell that Alamofire is a popular framework to use for iOS and ...
Read More

UI Debugging by making use of third-party apps

Although Xcode brings us the Debug View Hierarchy tool , it's often not enough for more advanced UI debugging. Luckily ...
Read More

App Store Connect API adoption with use case examples

The new App Store Connect API was announced during WWDC 2018 and makes it possible to write applications for App ...
Read More

OSLog and Unified logging as recommended by Apple

OSLog as a replacement of print and NSLog is the recommended way of logging by Apple. It's a bit harder ...
Read More

Custom Operators in Swift with considerations for readability

Custom operators in Swift create extensions on existing types and can be great for readability improvements if used correctly. Considerations ...
Read More

Shortcuts essentials in Xcode to speed up your workflow

Making use of essential shortcuts in Xcode can speed up development and keep you in your flow. Xcode allows you ...
Read More

Measure the performance of code in Swift

It's important in any type of programming language to know how to measure the performance of code as there are ...
Read More

Performance, functional programming and collections in Swift

Functional programming is often done in Swift and so easy that it could easily hit performance. Iterating over large collections ...
Read More

SwiftLint valuable opt-in rules to improve your code

SwiftLint is a tool by Realm to enforce Swift style and conventions. It's proven to be adopted by a lot ...
Read More

Updating to Swift 4.2

Swift 4.2 is a major release and shipped with Xcode 10. It comes with a lot of code improvements for ...
Read More

Command-click on code options and possibilities in Xcode

Command-click no longer jumps to definition by default since Xcode 9 is introduced. It opens up a handy menu instead ...
Read More

Defer usage in Swift

Although the defer keyword was already introduced in Swift 2.0, it's still quite uncommon to use it in projects. Its ...
Read More

CompactMap vs flatMap: The differences explained

CompactMap and flatMap, what are the differences and when do you use each? Swift 4.1 introduced this new method with ...
Read More

Effective development by improving the daily routine as a developer

Effective development can be achieved by learning more skills, but also by improving the daily routine for you as a ...
Read More

Compiler Diagnostic Directives using a hashtag in Swift

The Swift standard library brings quite some compiler diagnostic directives by default. Although this might not ring a bell at ...
Read More

Where usage in Swift

Where is a powerful keyword within Swift to easily filter out values. It can be used in many different variants ...
Read More

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 ...
Read More

Typed notifications using custom extensions

The Swift API contains a lot of notifications sent out by the system like NSManagedObjectContextObjectsDidChange in Core Data or the ...
Read More

Using the Network Link Conditioner Utility

The Network Link Conditioner on iOS and macOS enables you to test your app in networking conditions like your users ...
Read More

Build performance analysing in Xcode 10

Xcode 10 provides new ways to analyse your build performance. Gather valuable insights into your build performance using the new ...
Read More

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 ...
Read More

Using Xcode custom file templates with GIT

Xcode custom file templates are a great way to develop just a bit faster and enable you to define a ...
Read More

Useful less known Xcode tips to improve your workflow

Xcode is the main IDE for developing software for macOS, iOS, watchOS, and tvOS. It contains a lot of well-known ...
Read More

App Store Optimization for your App Store Page

App Store Optimization can help people discover your app on the App Store for iPhone and iPad. With some useful ...
Read More

Enabling newly added opt-in features in Xcode 10

During WWDC 2018 Apple announced Xcode 10 with a lot of new features. Many of them are available for you ...
Read More

Printing data requests using a custom URLProtocol

Almost all apps contain some kind of data requests. Printing data requests could sometimes be handy for debugging purposes. This ...
Read More

Controlling Progress children by adding remove

Controlling Progress children by default makes it only easy to add children to a Progress instance, but removing is not ...
Read More

Share Extension UI Tests written in Swift

UI Tests are a great tool to validate your application. It is easy to create them for your main application, ...
Read More

Fixing crashes with Firebase Crashlytics

Using Firebase Crashlytics can help you to solve your crashes faster. In this example we're going to dive into a ...
Read More

Capture iOS simulator video for App Preview

Creating an app preview video can be really easy using the simulator in just a few steps. Capturing an iOS ...
Read More

Symbolicate crashlogs with Xcode 9 and Bitcode

You can symbolicate a crash log with Xcode 9 fairly easy. Even with bitcode, which give you multiple DSYM files ...
Read More

Updating to Swift 4.1

Swift 4.1 is released on the 29th of March and will be shipped with Xcode 9.3. Although it's a minor ...
Read More

Swift 3 conversion and refactoring your project

A few weeks ago Apple announced the deprecation of Swift 2.3 starting with the release of Xcode 8.2. Reason enough ...
Read More

Rich notifications with images or GIFs with iOS 10

Rich notifications with iOS 10 brings us some nice new features to add to our apps. It's possible to create ...
Read More

Spotify Apple TV 4th gen Application

Many, many users are requesting an Spotify Apple TV 4th gen Application. I'm an active Apple TV user and I really ...
Read More

How Buienradar got 800 reviews with 4+ stars

Last May the new Buienradar app went live (more here). With over 2 million users each month, it's one of ...
Read More

Rebuilding the new Buienradar iOS App

The new Buienradar App is now available for download in the App Store here. The last few months I've been ...
Read More

Optional protocol methods in Swift

In Swift it's kind of unsupported to implemented optional protocol methods. You can, which is ugly, use the @objc syntax: ...
Read More

Launch time performance optimization

Time for a small post about launch time performance optimization. I did some research in improving the launch time of ...
Read More

Moya with SwiftyJSON using Moya-SwiftyJSONMapper

I've just released Moya-SwiftyJSONMapper which makes it really easy to map MoyaResponse to a struct or model inheriting from the ...
Read More

ALReactiveCocoaExtension for ReactiveCocoa

As many posts here already described, I'm a huge fan of ReactiveCocoa. It's very flexible and gives me the opportunity ...
Read More

ReactiveCocoa and cancellable delayed blocks

Using ReactiveCocoa in your projects can bring up some really nice solutions. I'm using it a lot and I'm creating ...
Read More

ReactiveCocoa and form validation using throttle

I'm a big fan of using ReactiveCocoa in the apps I build. I'm using it through out the whole application, ...
Read More

ALLocalizables: Localization using interface builder

ALLocalizables makes it possible to localize uilabels and uibuttons directly through the Interface Builder using a new available property 'Localize ...
Read More

WWDC First timer tips after visiting

You may already read about my WWDC First timers tips collection top 10, which is a collection of tips filtered ...
Read More

Protocol extensions and typed arrays

Swift 2.0 introduces protocol extensions, aswel as typed array extensions. This makes it possible to extend an array containing a ...
Read More

OptionSet usage in Swift like NS_OPTIONS

Swift 3.0 introduced the OptionSet protocol after renaming from OptionSetType. It is a Swift alternative to the well-known and often used ...
Read More

Apple forcing users to update iOS more quickly

Yesterday Apple announced a lot in their Keynote and gave us some more detailes in "The State Of The Union" ...
Read More

iOS 9, OSX El Capitan and Swift 2.0

Today Apple announced a bunch of new features and made us developers really happy. We've got a lot to explore, ...
Read More

WWDC First timers tips collection top 10

Again, I'm very happy to be one of the few developers to visit WWDC this year. I'm a first timer ...
Read More

ReactiveCocoa and Swift

Last November I started converting the Videoland project into a Swift only project. I planned to totally redesign the application ...
Read More

if, let, let, where statements

Swift 1.2 came with new possibilities for if statements. One big improvement is using multiple lets in one if statement, ...
Read More

Swift method parameters, coffee, sugar & milk

Swift methods are quite different comparing to Objective-C methods. It comes with many possibilities for method parameters, which makes it ...
Read More

#warning, we’ve lost #pragma mark

Swift introduced cool stuff, but also removed some essentials. For example, checking the #warning tags before submitting helped us prevent ...
Read More

UIStoryboards, IBDesignable and localization

One of the important parts in building apps is localization. It's something we developers mostly postpone till the end of ...
Read More

The start of a new blog

Hi there! After thinking a lot of starting my own blog, I've finally made the decision to create one! As ...
Read More