If you like my tutorials, you will love my book . It is chockful of advanced programming techniques and the only comprehensive barcode reference for serious iOS developers.
Our DNA is written in Objective-C

Softly Killing iPhone 3G


The latest version that ever ran on the iPhone 3G was iOS 4.2.1, but even though iOS 4 brought multi-tasking to the platform the iPhone 3G never got that. The iPhone 3G had been introduced in June 2008 with 16 and 8 GB capacities. Of these the 16 GB was discontinued after 1 year while Apple kept the 8 GB model around as the cheaper iPhone. This was discontinued on June 4, 2010 when the iPhone 3GS took its place as the “cheap one” while the iPhone 4 became the “current model”.

Long story short: The iPhone 3G has been discontinued 2 years ago. But there is also a technical reason why 2012 will be the final nail in the coffin that buries the iPhone 3G: The deprecation of armv6.

Read more

GeoCorder 1.3.3

GeoCorder was having a problem that only became apparent if used over longer durations. Also it was quite elusive so we needed to open a technical support ticket with Apple to get help in finding it. And so we did, or more precisely: they found it and we fixed it.


  • FIXED: Crash when recording for a long duration
  • FIXED: Various stability improvements

Updates for both the free and the paid versions have been submitted to Apple.

Update August 15th: now available.

Out of Office

We’re offline for “maintenance” until August 2nd with no way to receive emails or respond to your requests and orders. We mention this so that you know why you won’t hear from us until then. We haven’t forgotten about you, we’ve just remembered about ourselves.

So please be patient while we’re recharging.

Multi-Context CoreData

When you start using CoreData for persisting your app data you start out with a single managed object context (MOC). This is how the templates in Xcode are set up if you put a checkmark next to “Use Core Data”.

Using CoreData in conjunction with NSFetchedResultsController greatly simplifies dealing with any sort of list of items which you would display in a table view.

There are two scenarios where you would want to branch out, that is, use multiple managed object contexts: 1) to simplify adding/editing new items and 2) to avoid blocking the UI. In this post I want to review the ways to set up your contexts to get you what you want.

Note: I am wrapping my head around this myself for the very first time. Please notify me via e-mail about errors that I might have made or where I am explaining something incorrectly.

Read more

Urban Airship Commander BETA

Imagine yourself implementing APN (Apple Push Notifications) using Urban Airship’s API and service. How do you go about testing the push functionality and possibly demonstrating it in front of your client?

The usual approach would be to peruse a web form on the Urban Airship site to send such notifications.

We felt a need to simplify the procedure and make it more fun for developers. So today we’re announcing UAC (Urban Airship Commander) which sets out to do exactly that.

Read more

Before Renewing Your Membership …

The month before your membership in the iOS Developer program expires Apple begins to gently remind you that renewal is coming up. If you don’t want to experience an “interruption in service” you better renew as soon as possible.

There are however a few gotchas that I’d like to point out to you … watch your provisioned devices as well as your DTS tickets!

Read more

GIC Acquires Cocoapedia

Grupo Imaginación Cibernética (GIC), a software development company based in Mexico, agrees to acquire Cocoapedia’s brand and assets after winning the bidding on Monday, July 16th. Cocoanetics sought to sell Cocoapedia because it no longer fit the company’s focus.

Read more

You Don’t Need The Xcode “Command Line Tools”

When Apple made Xcode into its own app bundle it greatly simplified our lives as developers. This enabled incremental updates for the stable version can get from the app store. Also you get updates the same way as updates for other apps.

To cut down on file size Apple made several items optional downloads, like the documentation, older versions of Simulator or Command Line Tools. The latter you need if you are building stuff outside of Xcode, like Open Source projects. You know, bare knuckles, command line geekery.

However those tools are not needed if you want to say use svn or git. This article explains why.

Read more

Who Wants Cocoapedia?


Two years ago I was more idealistic than today. That was when I created Cocoapedia (Oct 2010) and thought that if the place was there the contributors would come. Boy was I naive.

The idea behind Cocoapedia came from an unfortunate run-in I had had with Wikipedia two years earlier. At that time I – similarly enthusiastic – had created a Wikipedia page for myself only to find that flagged for deletion the day after. That was when I learned that Wikipedia has a set of relevancy criteria that artificially filters the content that can go into it.

I had never gotten a medal, never played a part in “historic, political or newsworthy events”, are no “widely known personality from the entertainment industry” and nobody has ever called my works as excellent. My TV appearances were never in an important function, I did not write two novels (or 4 non-fiction books) and the scandals I have unearthed fell mostly on death ears, too.

So I figured, if Wikipedia won’t have us irrelevant iOS developers, then our own Wiki definitely would. So Cocoapedia was born.

Read more

XBench: Apple Stock SSD versus Striped RAID

I purchased a current model MacMini (Mid 2011) to serve as a Continuous Integration server. I chose the one model that has 4 GB and 2 HDDs because the larger RAM certainly should benefit the overall performance and 2 HDDs would give me an opportunity to experiment with striping the hard disks to see what performance could be gotten from that.

Read more