Using CoreData in a SPM executable
Aug 17, 2021, 10:00 AM
Suppose you have a Swift library which uses CoreData and you’d like to use that in a command line tool for something under your control, such as running it on CI or distributing it to colleagues. You could go the route of creating a...
Tech giants and Nintendo
Nov 5, 2020, 2:28 PM
In one short link post John Gruber indirectly makes an excellent case for breaking up tech giants:
Really good quarter for Nintendo — converting yen to USD, about $4 billion in revenue, $1.4 billion in profit. That’s great for them,...
The essence of an app
Oct 3, 2020, 3:12 AM
Horace Dediu has a way of putting things into an insightful perspective that makes you look at things differently. In the latest Critical Path episode, he points out that what people enjoyed about the iPod (and the Walkman before) wasn’t...
Aug 17, 2020, 10:00 AM
Longplay, my first self-published iOS app, is now available on the App Store. I’m super excited.
What it is
Longplay is a music player for anyone who enjoy listening to entire albums start-to-finish. It digs through your Apple Music or...
Vapor: Simple automatic deployment using Docker and GitLab CI
Apr 10, 2020, 10:00 AM
This is a little guide for how to deploy a non-essential API built in Vapor using Docker and GitLab CI on a Linux server.
This guide shows how to prepare the project for deployment using Docker, having GitLab CI package up a new version...
Vapor: Loading resources
Apr 10, 2020, 10:00 AM
When you’re creating a Vapor app, you might at some stage want to load some resources that you process in your code, e.g., some static data in JSON format that you want to augment.
I couldn’t find documentation for it and getting it to...
Using Carthage in a Catalyst app
Oct 20, 2019, 9:00 AM
“The process starts by checking a single box in Xcode” and then continues with compile errors. At least if your iOS app is using Carthage to manage its dependencies. Here my notes from working through those in my projects that use...
iOS 13 toe-dipping: Multi-window support on iPad
Jun 12, 2019, 10:00 AM
The code samples from Apple’s WWDC sessions and the sample code for supporting multiple windows, are a bit inconsistent which can make it a bit bumpy to get started. Here is the setup for supporting multiple windows on iPad that worked...
Framework Sherlocking at WWDC 2019
Jun 11, 2019, 10:00 AM
WWDC is lovingly referred to as “Christmas for Apple Developers” and, goodness, was it a Bescherung this year! Apple has been hitting it out of the park at this year’s WWDC. While in the past many developers have been worried that their...
Next steps for Siri, and other WWDC 2019 wishes
May 31, 2019, 10:00 AM
Apple’s annual developer conference, WWDC, is just around the corner. As a developer of iOS apps and heavy user of macOS, this is always an exciting time of the year. There is talk about iOS apps being able to run on macOS and dark mode...
Keyboard shortcuts and the iOS responder chain
May 10, 2019, 10:00 AM
When adding support for keyboard shortcuts, a seasoned iOS developer might raise an eyebrow when noticing that UIKeyCommand takes a selector for an action, but no target. This is because the keyboard commands1 are not send directly to any...
Good practices for RxSwift-based view models
Mar 26, 2019, 7:00 PM
Everyone has their own preferred way of structuring their app code. I have grown to like view models and RxSwift. I am not trying to convince anyone to use it with this post, but rather want to share my best practices that took me a few...
Getting push notifications for fastlane errors
Jan 24, 2019, 6:00 PM
Fastlane is an excellent and essential tool for app developers to automate many of the otherwise time-consuming, tedious tasks. With a simple terminal command you can make run all the steps from compiling and packaging an app, to uploading...
Hey Siri, pre-heat my car
Jan 19, 2019, 6:00 PM
When I got my Renault Zoe, I was excited to see that it came with an accompanying app, which let’s you remotely pre-heat (or cool) the car and also check the charge status of the battery. Being able to pre-condition the car is great as...