Michael Behan

Follow @mbehan on Micro.blog.

2021-03-28: Twitter Phone Number Creepiness I created a Twitter account to test setting up 2FA using the new authenticator app I’m working on. …

2021-03-18: Incorporating SwiftUI Views in a UIKit Layout Mixing some SwiftUI in with your UIKit app is a great way to start using it for real without having …

2021-03-14: My Swift Extension (Anti?) Pattern I’ve become aware of how frequently I create extensions in Swift. I previously viewed them as …

2021-03-13: Every authenticator app I’ve used has annoyed me in some way so I’ve started making my own. The …

2021-03-13: Started a new project with SwiftUI about half an hour ago but I just backed out of it and started …

2021-02-25: Moving iosapp.dev hosting to micro.blog. Had fun hosting it on my own server for the last while but …

2020-03-30: You'd Be Surprised What People Don't Know Have you ever thought about trying to explain something, but it’s so obvious that you assume …

2019-12-19: Parenting Advice for New Programmers I’d like to share some parenting advice if you’ll humour me. My Mam shared this with me …

2019-11-23: Detecting When Your App Gets Backgrounded using Combine The introduction of the Combine Framework provides a new (reactive) way to respond to system events …

2019-07-15: iPad OS or: Names Are Important When I attended WWDC for the first time in 2010 the iPad was still brand new and not yet available …

2018-11-01: Passing a closure to a UIButton I’m tired of @objc #selector (nonsense: ) muddying up my Swift code. This most commonly rears …

2017-11-10: No, Apple Does Not Share Your FaceID Data The notch full of sensors on iPhone X enables Face ID to capture accurate face data by projecting …

2017-11-06: The Apple Watch Platform I’ve a phone in my pocket most of the time, Alexa is always waiting for me in the kitchen and …

2017-10-31: Why Can't We Just Pay for Free Unlimited iCloud Storage? Over the past few years Apple has proven that they’re willing to try charging higher prices …

2017-05-10: Audio Degapinator - The Poor Dev’s Smart Speed I’ve been listening to podcasts with Overcast’s Smart Speed feature turned on for long …

2016-11-09: Simulating Universal Gravitation with SpriteKit Gravity in SpriteKit is a single planet sort of gravity. By that I mean that it applies a single …

2016-10-18: Detecting Which Complication Launched Your WatchKit App One of the joys of working with watchOS, much like it was working with iPhone OS many years ago, is …

2016-09-24: Should Apple Deprecate UILongPressGestureRecognizer? The answer is yes. For anywhere you currently require a long press, move to 3D touch. For anywhere …

2015-07-03: Cheating on Swift Substrings If you found yourself needing to get a substring of a String in Swift before you got around to the …

2015-04-12: Death By Date Format String Recently I learned that you probably always want “yyyy” and not “YYYY”. let …

2015-04-02: Optional Optionals So here’s a confusing sentence. With Swift functions you can have optional parameters, you can …

2014-12-18: Basic ORM on top of FMDB and SQLite for iOS Disclaimer: If you’re not sure if you should be using SQLite for your iOS project then you …

2014-04-24: Uploading Xcode Bot Builds to Testflight, with launchd Continuous integration with Xcode is super easy to set up and does the basics of continuous …

2014-03-05: Simple Dynamic Image Lighting with CoreImage With the kind of apps I usually make, I often end up doing a lot of gamey looking things right …

2014-03-02: UIImageView Animation, But Less Crashy Animation with UIImageView is super simple and for basic animations it is just what you need. Just …

2014-02-26: Creating a Rope with UIDynamics I’ve made rope simulations for games with Box2D before but I wanted to see if I could make a …

2014-02-19: Storyboards, Multiple Developers and Git. An updated version of this article is available on my employer’s blog Storyboards are great. …

2014-02-09: Drawing Physics with SpriteKit There are plenty of games out there with this basic mechanic already but I wanted to see if it could …

2014-01-30: Fun with UIBezierPath and CAShapeLayer This is a quick prototype for a fun drawing tool - as you drag your finger across the canvas the …