The last couple of weeks I have been mystified. My iPad doesn’t have GPS but it always knows where I am down to a couple of meters. I know that Apple has been using WiFi based geo-location already in the iPhone but I just couldn’t explain how my private hotspot and my friend’s down the street or even the one at my office could have ended up in Apple’s database.

The only explanation I could come up with was that Apple had used my iPhone’s GPS to gather geo coordinates for all WiFi hotspots I came close to. That sounded too scary and conspiratory-theory like to really contemplate.

And then I read this: >> more…

I admit it. I had to get it and I did.

Now I have this shiny (more on that later), magical and revolutionary device sitting on my desk.

And here is the answer to the most asked question of the last week “how do you like it?”

I like it a lot, but I am still searching for a proper place for it in my life.I have my laptops (yes, two: one MacBook Air for iPhone coding and one Lenovo X60 for real work – I couldn’t function without Office 2007), one of them typically is within easy reach. On the road I have my iPhone which does pretty much all I want to do on the road. >> more…

If you want to create an ad hoc distribution profile for your app, you need to know the identifier (UDID) of each and every iPhone you want to install the app on.

Use this great page to help your beta testers find out their UDID:

http://www.innerfence.com/howto/find-iphone-unique-device-identifier-udid

Thanks guys.

I’m using the Google Toolbox for Mac extensions to unit test my iPhone application. I highly recommend them. Integration with XCode is great. E.g. failing assertions in the tests are flagged directly in the code just like compile-time errors right next to the failing assertion. (If you are working on SDK 3.0 beta, you should get this patch to avoid the “-[UIApplication terminate]: unrecognized selector sent to instance” exception when the unit test application quits. terminate was replaced with terminateWithSuccess ins SKD 3.0). >> more…

Currently I am spending some (if you ask my wife, she would probably say: a lot) of my free time writing a little app for the iPhone as a native frontend to one of our products, a deliverable management system (conjectPM).

In 1990 I got myself a NeXTStation and started to play around with NeXTStep and Objective-C. I really loved the AppKit as it was called back then. I became an iPhone developer as soon as Apple created the program and immediately got eh iPhone SDK. I have to say, programming the iPhone is as much a joy as working on NeXTStep was back then. The fundamentals haven’t changed much. The frameworks still are based on a very clear MVC pattern with lots of delegation to separate framework functionality from your own code. XCode is a nice environment but by far not as evolved as IntelliJ IDEA. A huge amount of often needed functionality is just there (like splitting a NSString containing a path into it’s components), but not having garbage collection and the arcane [object message:param]; syntax is quite cumbersome.

Because I want to mark the icons of favorites with a blue star and I don’t want to create every icon twice, I wanted to just superimpose the star onto the standard icon for the document type. It wasn’t as easy as

UIImage *result = [originalIcon compositeWith:starIcon];

Here is how to do it (based on the example in SDK documentation and helped by a hint from SkylarEC) >> more…