eTeMpTy Theory

Writing

21 posts on iOS, Swift, Xcode, and the craft of shipping apps.

1 min read

We’ll Miss You, 360 iDev

As a budding mobile developer back in early 2012 working on my first app, everything about iOS was new and different from the .NET world with which I was familiar. Living in the Denver area at the tim…

10 min read

Refactor or Rewrite? Tackling Legacy Apps

If you've been programming for any length of time, you'll likely run across apps or other projects that need major work and revisions to keep going. Maybe your company acquired another company with to…

4 min read

New UIDatePicker Styles in iOS 14

One of the nice new features that came out with iOS 14 were some new options around the venerable UIDatePicker. There are now some choices other than just the slot machine-style wheels! Since iOS 2.0,…

3 min read

Better Uniform Type Identifiers with Xcode 12

If you've been doing any kind of file uploads, downloads, previews, and such in past versions of Xcode and needed to deal with MIME types or file extensions, you've probably had to deal with Uniform T…

3 min read

Using Comparable with Enumerations in Swift 5.3

As expected, there was so much goodness in WWDC 2020 last week. From exciting new software changes in Swift UI, collection views, and much more to the anticipated move away from Intel to Apple Silicon…

4 min read

Cleaning Up Swift Enumeration Evaluation

Just some quick and simple Swift stuff in this post around writing cleaner code. It's pretty common to see a pattern like the following in existing code when evaluating enumerations.

5 min read

Nicely Formatted Lists with ListFormatter

Last time we took a look at the very useful RelativeDateTimeFormatter to create localized strings describing date differences programmatically. In this post we'll look at a better way to handle presen…

3 min read

Formatting Relative Dates the Easy Way

Prior to iOS 13, converting a date from the Date object to a nicely formatted string such as "10 days ago" or "next month" required a lot of custom coding or maybe third-party libraries to manage the…