When setting up Firebase in your app you have to call an API to configure it. It should be done once, at launch time, so you know where this is headed, you put it in the AppDelegate. Or at least that's what you're told to do.Read More
I'm a big believer in using dynamic type as much as possible. However, the API for dynamic type preferredFont(forTextStyle style: UIFontTextStyle) is a class method on UIFont and only returns the system text (SF) font. This is not so helpful when using custom fonts in your app.Read More
As a developer, once you start dealing with dates you quickly realise that anyone who is comfortable working with them is truly a master of the Dark Arts. Timezones, formatting, comparing, incrementing, isolating individual components and a whole lot of other headaches abound.Read More
I got a design requirement recently for a button to be placed in the bottom corner of the screen and for it to be the same distance from the trailing margin as the bottom. The work turned out to be more complicated than I thought.Read More
What do romantic comedies and software development have in common?
But while the rom-com has a fascination with ensuring that the coupling has occurred, and that it will be everlasting (until the sequel) software runs away screaming at the very idea. But how far can we take that principle?Read More
A co-worker at a previous workplace came to me with a problem they were working on. They needed a skewed pseudorandom number generator that, for a given range, would return numbers at the end of the range more often than numbers at the start.Read More
Working on an app for a client recently threw up an interesting issue with CPU performance. Basically we were maxing out the CPU, even on the most plain of view controllers displayed. Finding out why lead us to discover some interesting side effects to using animations.Read More