August 23, 2016   |   Automate version and build number increments for a Xcode project using a shell script.
I've made several frameworks and found myself going through the same process every time I wanted to update one of them to a new version. After finishing the code updates, I would increment the version number for each target (iOS, macOS, tvOS), update the version in the corresponding Podspec file, commit the version update . . .
August 10, 2016   |   Understand the basics of stock options, including key terminology, tax implications of exercise, and early exercise.
Stock options are often a large component of an employee's compensation at most startups. While the ultimate value of those options is impossible to predict, it's important for anyone who is granted options to understand the basics of how they work and their tax consequences. This article is an attempt to explain those basics . . .
July 10, 2016   |   Make a private, cross-platform Swift framework with dependencies using Github and CocoaPods.
With technologies like handoff and continuity, a unified developer program, and many of the same system frameworks available on all four of its platforms, Apple has been moving over the past few years to more seamlessly integrate its ecosystem of devices. This presents a great opportunity for us to bring our apps to . . .
January 16, 2016   |   Use switch statements to simplify and standardize type checking in Swift.
One thing that bothers many developers about using if statements for type checking in Objective-C is that it suggests a specific order of importance. For example, here's how you might use type checking in an Objective-C prepareForSegue method . . .
January 13, 2016   |   Change the selection color of a UITableViewCell in Storyboard.
Recently I needed to change the cell selection color of a UITableViewCell. This can be done in a few lines of code using the "selectedBackgroundView" property on UITableViewCell. But since the ultimate goal is simply to change the selection color, it would be nice to have an attribute in storyboard . . .