Pulse: Network Inspector
Jan 31, 2021, 10:00 AM
On iOS, there is this friction when it comes to debugging apps. You can’t inspect anything that happens behind the scenes unless you use special tools. You can’t even see network requests.
There are tools that can help: Wireshark,...
Formatted Localizable Strings
Nov 29, 2020, 8:00 AM
How do you localizale a text label that has rich formatting?
Unforunately, there are not a lot of built-in options in the Apple SDKs, so people often end up using sub-optimal appoaches.
Jul 13, 2020, 9:00 AM
WWDC20 is over and now teams around the globe are working hard on adopting all of the latest and greatest features in Apple platforms. Or are they?
Design and product teams are often focused on the product and are not necessarily keen on...
Introducing Align 2
Jun 18, 2020, 9:00 AM
This weekend, I decided to revisit one of my early frameworks - Align. I thought it had some good ideas behind it, but there was still a lot of room for improvement. I ended up re-engineering major parts of it, even taking some...
VPN, Part 2: Packet Tunnel Provider
Jun 14, 2020, 9:00 AM
With most of the groundwork covered in “How Does VPN Work?”, let’s go ahead and design a protocol.
Designing a Protocol
I want the protocol to be functional, but keep it as simple as possible. The goal is not to design a viable...
VPN, Part 1: VPN Profiles
May 24, 2020, 9:00 AM
Every App Extension requires an app, and Network Extensions are no exception. Before we jump into the nitty-gritty details of the packet tunnel itself, let me walk you through the app.
The app is not just a container...
How Does VPN Work?
May 19, 2020, 9:00 AM
Before jumping into the Network Extension framework, you need to know a bit of theory about VPN and networking in general. If you are already familiar with networking and VPN, feel free to skip this article. If you are not, this article...
Let's Build a VPN Protocol
May 18, 2020, 9:00 AM
It’s been two years since Network Extension, Part 1 - Introduction. You’ve been asking for Part 2. Here it finally is.
Let’s Build a VPN Protocol (You are here)
Prologue: How Does VPN Work?
VPN, Part 1: VPN Profiles
May 17, 2020, 9:00 AM
Nuke 9 is a culmination of five years of development. The project started soon after Swift release, as a continuation of DFImageManager, an Objective-C image loading framework1. I put a lot of effort and care into each and every...
Apr 3, 2020, 11:00 AM
I had an idea how to improve the logging experience on iOS. I wanted a way to quickly view logs on the device. I needed to build a console. But I didn’t want to build it only for iOS. I also wanted to have a similar but more powerful...
Mar 18, 2020, 11:00 AM
FetchImage makes it easy to download images using Nuke and display them in SwiftUI apps.
FetchImage is an observable object (ObservableObject) that allows you to manage the download of a single image and observe the results of...