Dragging old work into the sun

I just submitted an update to an older app that was giving a couple people a headache on iOS 8. When I heard about the issues in BabyBelly I debated just leaving it, until I eventually remove the app from the Store.

An app with thousands of users (the bulk of them bought it years ago, of course) seems like something that would be worth updating. I opened Xcode and took a look at the 2011-era iOS code. Building the project produced 90+ warnings (many related to deprecated calls). The code was written before ARC so memory was managed manually. I decided to enable ARC for the project, which meant editing almost every file.

Most of the xibs had to be updated to work properly on iOS 8. Autorotation and tintColor calls had to be stripped and changed.

I performed tests in the Simulator, on my device, and fixed issues as I encountered them. Once the code was in decent shape I worked on updating the icon. Thankfully it's a pretty simple icon and it didn't take me too long to export it at the higher resolutions that iTunes Connect now requires. After that I had to take screenshots on the 3.5 and 4-inch devices (at least) to satisfy iTunes Connect.

I ran into a couple provisioning profile and code sign issues but they didn't take as long to resolve as they used to (many of my issues are cause by having old-style App IDs and provisioning profiles. Xcode can handle almost everything for newer developers automatically).

In total, doing a "really small" update took almost all day. I'm not sure it was a wise choice; sales would really have to pick up for me to recoup the time I spent working on this today. On the other hand, it's nice to not feel guilty about this app anymore. I've spent at least a week (usually several weeks, months even, especially lately) building each of my apps and can see remnants of previous struggles and victories in the source code.

Watching an app slowly break down as waves of iOS updates wash over it is annoying.