Our DNA is written in Objective-C
Jump

iPhone 5 Fake Rumor Roundup

Current rumors about the next iPhone are that it will have a 4″ screen, a smaller SIM card and will probably start with pre-orders on September 12th. We’ve heard all that, that’s old news.

Following in the footsteps of the fake Asymmetric Screws rumour which was planted by Swede Lukasz Lindell (and friends) I felt a sudden wave of sadness crush on me when I realized that I simply lack the amount of creativity that goes into constructing a good Apple rumor. If only I was creative enough to think of several such good and believable rumours, I could probably make a living just from the blog traffic alone. #linkbait

So I vented this frustration on Twitter and to my surprise many people took this as an invitation to chime in and also play the game. Here’s a roundup of the best fake rumors I’ve heard. If you respond with a good one I’ll add your contribution as well.

Read more

BSA Banner

Smart App Banners

How often do you get annoyed by the following? You look up something on Google on your iPhone and you find an answer in a forum. When you click-through the search result the forum does not just show you what you were looking for, but it pops up a large annoying alert informing you that with their native app the reading experience would be so much nicer. And it does so even if you gave in some time earlier and had already installed the app.

Fortunately it has been announced that Apple will include a smart solution to this problem in iOS 6. Safari will gain the ability of automatically displaying such banners.

Read more

Podcast #40 – “Happy App.net Day”

App.net reaches their funding goal, Apple releases Xcode 4.4 and almost kills armv6 support and a crowdsourced system estimates review times more accurately.

Play

Read more

Cubed CoreAnimation Conundrum

Closed Box

One of the big mysteries of CoreAnimations are 3D transforms. You might have seen them used in popular apps like Flipboard (page turn) but there are hardly any good tutorials in how they actually work. In fact, you find only one from 2008 what was written when OS X Leopard was still around.

I blame that there are several things that are counterintuitive about using 3D transforms and perspective with CoreAnimation why not more people play with it … and then write up what they learned in some useful guide.

Session 421 Core Animation Essentials  from WWDC 2011 had an example of 6 squares that would animate into a three-dimensional box that the presenter could even rotate around. That inspired me to figure out how to do this as well, and with the help from several people on twitter I was successful.

Read more

Unit Tests Don’t Bite

You might have heard about the term “Test Driven Development”. The idea is – as I understand it – that for every problem you find in a component of your apps you create a Unit Test that fails. Then you fix the bug. The Test now passes. This can be carried further by writing your test cases even before you write any implementation code.

Especially when encapsulating your frequently-used code in static libraries or frameworks those unit tests can help save you a lot of grief. Imagine adding some nifty new feature to inadvertenly  introducing a bug that would break some other existing functionality. If you run the unit tests they would show you immediately that your change broke something.

In this blog post I’m summarizing a couple of things to help you get your own unit tests started.

Read more

A Taller iPhone is a Giraffe

Blogger Mark Gurman from 9to5Mac caused quite a stir when he showed screen shots showing that Apple had secretly updated the iOS Simulator to be able to deal with the rumored higher resolution of the next iPhone. His hack involved some nasty code injection that had previously been used to demo iPad on Retina resolution long before the iOS Simulator supported that.

The point of his article was that the main visible difference between the 5.x and 6.0 springboards when having more screen space available. On iOS 5 you always get 4 evenly spaced rows of icons there while on iOS 6 you will get an extra row of icons with no increase in spacing.

Because Mark did not give detailed instructions as he achieved the result (to “protect his sources”) developers all around started to investigate and Cédric Luthi beat everybody to the punch, revealing a method that is so simple, even I was able to follow it.

Read more

Softly Killing iPhone 3G

200px-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.

Changes

  • 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