Achievement Unlocked: Git Ninja

The title of this article may be overstating my expertise with git slightly, but that’s how I feel having successfully tackled what is, I think, a fairly non-trivial task with git: managing changes across multiple branches and multiple remotes using a single working directory.
Continue reading →

Posted in: iDevBlogADay, Software Development

Lockbox: Easily Secure Your App’s Sensitive Data

It seems like there has been a lot in the “developer” news lately about the secure storage of user data in iOS apps, as well as related topics around securely replacing the venerable but now deprecated device unique identifier, or UDID. For the latter, more than a few replacement schemes have been offered up, most with a “secure” storage element. This all got me thinking about other reasons one might want to store something securely in an app, and how to do it.
Continue reading →

Posted in: iDevBlogADay, Software Development

Pulling in Many Directions

Sometimes there is no time to focus on just one or two things. No, sometimes things get busy and between day jobs, and night jobs, and family, and all those other obligations we have in our lives, there is time only to touch on a few things briefly. That’s what my development life has been like lately, moving from project to project to project. Read on for a cornucopia of stuff…

Continue reading →

Posted in: iDevBlogADay

Geofencing: What do you do with it?

Location Services are one of the most interesting capabilities available in iOS. One interesting feature therein is “geofencing”, also known as “region monitoring.” I recently investigated how this works and what you can do with it. While easy enough to use, region monitoring alone isn’t enough to bring your user back to your app.

Continue reading →

Posted in: iDevBlogADay

Core Data Image Caching

It is a common pattern for an app to do something with data that is not local. Maintaining decent app performance while fetching the data is one challenge (and not the focus of this article). Keeping the data, and enough of it, for later use and to prevent having to get it again, is another challenge. There are obvious solutions, some easy and some not, and all with their own advantages and disadvantages.

Continue reading →

Posted in: iDevBlogADay

Animation Revelation

For the newcomer to iOS development, “animation” may seem like a daunting proposition. That’s how I felt when I wanted to animate a game board 90 degrees in my very first app. How could I possibly do that!? It must be difficult! And so off I went to see how to do it….

Continue reading →

Posted in: iDevBlogADay

OS X Lion + Oracle + ruby-oci8 Gem Solution

In my day job, we have need to interface with an Oracle database, from ruby. There’s a gem for that: ruby-oci8. The problem, since OS X Lion came out, is that installing the gem with it’s native extensions (i.e. compiled C code) fails. Why? Because the native extensions cannot be built using the default 64-bit architecture.

The solution? Build it for a 32-bit architecture! Unfortunately, that is a little easier said than done. So, last week I set out to see what it would take to actually move to Lion. Turns out, it wasn’t that bad.

Continue reading →

Posted in: Software Development

Project X Has Begun

In my last post, Something Old or Something New?, I talked about my own mental process for choosing what to do next that would be meaningful, i.e. worth doing and doing well, and ultimately profitable (for a reasonable definition of that word.) I am pleased to say: Work has begun!

Continue reading →

Posted in: iDevBlogADay

Something New or Something Old?

What’s my “Next Great App” going to be? No one knows, of course, since almost anything can be a hit, or not! I’ve experienced this phenomena with my own, current apps. And this leaves me with an ever-present quandary: Should I conceive and develop something new and (maybe) awesome, or update/re-implement something old? What to do, what to do… Continue reading →

Posted in: iDevBlogADay

Many From One

Building one app from one code base is pretty straight forward (all other complexities of Xcode development notwithstanding, of course). Building more than one app from one code base is a bit less intuitive, however. Recently someone wrote about using git, a source code control tool, to manage multiple app versions. This is an interesting approach, but I think breaks down when you start needing to churn out say… 7 or 8 or more distinct renditions of the same app. It also suffers from then having multiple full copies of the code base to, one for each version. Bug fixes have to be applied to all of them. A current project with which I am involved is facing this challenge now: many apps from one code base. Here’s what we’re doing (so far) to keep the “pain” to a minimum in order to produce 7+ apps at once.

Continue reading →

Posted in: iDevBlogADay