For a few days I had an issue where every so often the iOS simulator would freeze when booting up. It would just display an activity indicator. Then I saw this Tweet and now all is fixed!

Weird Xcode install issues with unbootable simulators?

xcrun simctl erase all

resolved it for me

— Jason Kneen (@jasonkneen) April 30, 2018

The Subtle Art of Not Giving a F*ck

Brave Web Browser - A project to keep an eye on. It was reasonably stable on macOS but has recently crashed a lot, so I have moved back to Safari for now.

Revolut Business - Revolut added Freeagent sync. Once it supports unique IBAN numbers, rather than relying on a reference number, I'm all in.

Showerthoughts - a macOS screensaver I built.

Balance Manager (beta) - A web-based tool to help you manage your tokens.

Deprecator

Years ago at Togethera we built and open sourced our deprecation framework for iOS. It provided a way to remotely deprecate old versions of an app. Deprecator supported hard and soft deprecations.

Soft deprecations can be used to just let the user know that the latest version of the app has some new awesome feature and hard deprecations are used to force the user to upgrade. It's not good practice, but it is useful to have as a backup incase of something going badly wrong.

The framework was left untouched and didn't work with any new versions of Swift so I have now brought it back to life! You can find it on Github.

I've just released SegmentedControl; a small UI control for iOS.

Install

In your Cartfile:

github "reddavis/SegmentedControl"

Example

let segmentedControl = SegmentedControl() segmentedControl.tintColor = UIColor.blue segmentedControl.addButton(title: "Button A") segmentedControl.addButton(title: "Button B") segmentedControl.addButton(title: "Button C") segmentedControl.addTarget(self, action: #selector(self.segmentedControlValueDidChange(_:)), for: .valueChanged) self.view.addSubview(segmentedControl)

  Showerthoughts

After a couple of beers the idea for a Showerthoughts screensaver was born. This Saturday I threw something together and here it is!

As mentioned in my Year in Review post from back in December, one of my aims of 2018 is to open source more code.

I’ve built a few private libraries over the years that I use in most of my projects. I figured releasing these would be a good place to start. The first one is the rather bland named; Table Data.

Table Data is a simple framework for building out UITableViews. I use it a lot when building preferences or settings screens.

Last week we launched Symple 1.1! This release bring the ability to set your payments on autopilot with “AutoPay”. Just turn it on and choose the payment terms. Now when a partner sends an invoice you no longer need to manually manage paying them.

Get the latest posts delivered right to your inbox.