Apple WWDC 2012 Session Videos Live

This is a heads up for anyone who does iPad or iPhone development; Apple have made available their awesome WWDC 2012 sessions videos to developers! iOS 6 features such as Passkit, maps and Facebook looks interesting as does the new Game Center functionality such as “Challenges” along with a whole host of new APIs and technologies. More information can be found on the Apple iOS 6 site and the developers’ iOS 6 overview site.

You should also look at the new OS X technologies in the soon-to-be-launched Mountain Lion release. Notification Center seems like such a natural addition that I’m surprised Apple didn’t add it in back in the early days of Mac OS X and Game Center will be exciting to play with on the Mac. I just hope it doesn’t distract me too much from work!

Of course most of it is still under a non-disclosire agreement so only blog and comment about the publicly announced WWDC stuff but this will good to play with over the summer when it’s too hot to be outside.

How to call a block after a delay

On iOS and on OS X you sometimes need the User Interface to update after a short delay. The old way of doing it was calling the performSelector:withObject:afterDelay: selector on any NSObject subclass but that requires defining a new method in your class and you can only pass one object as a parameter.

Instead, you can use dispatch_after from the Grand Central Dispatch APIs to execute code within a block after a certain time interval. Don’t be afraid, it might be low-level C but you can cut and paste and just put your code inside and it will retain the variable scope that blocks usually do!

double delayInSeconds = 0.5;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

  // Your code here

});

Reverting your library from a beta of iTunes

As an iPhone and iPad developer, Apple often present you with beta versions to install which sometimes require you to also install a beta version of iTunes. Of course the contents of these beta versions are under strict non-disclosure agreements but the process of rolling back isn’t so I’ll quickly explain how to do it…

When you installed the beta, it will upgrade your iTunes library database but if you try to downgrade back to the old version at a later date you’ll be presented with an error message saying that iTunes cannot read your library.

Don’t panic! The beta version has just moved your library database to a backup folder and with a simple drag and drop you can have your old library database up and running again. Your old database should be found in ~/Music/iTunes/Previous iTunes Libraries dated with when you upgraded. Just drag that back into ~/Music/iTunes renaming it to iTunes Library.itl (you’ll probably need to delete the existing iTunes Library.itl file too as that belonged to the beta version and you just uninstalled that).

That’s all you need to do to get your old iTunes library working again. Just before you begin make sure you back up everything!

WWDC Update: 5 key points for iPhone apps

It’s now been just over 3 weeks since the torrent of information unleashed at Apple’s World Wide Developer Conference refreshingly drenched the brains of designers, developers and engineers. I’ve resisted blogging about the public announcements to fully let the impact soak in and gage everyone’s reactions but now feels like a good time to talk about where the future of computing is heading.
Continue reading

The eve of Apple’s World Wide Developer Conference 2011

I’m writing this in a hotel room from a block adjacent from the Moscone West Conference center, here in San Francisco, CA. The atmosphere is incredibly lively and for many developers it’s as close to the developer-version of Christmas you can get. Ha ok I know that sounds a bit over the top but there is lots of optimism about Steve Jobs’ keynote tomorrow. You can feel it!

So today I picked up my WWDC attendee badge and hitched a ride on the small army of buses that Jeff LaMarche had arranged to go to Apple’s HQ in 1 Infinite Loop, Cupertino, CA. It’s such a historic place in tech history and I was there! Not only has it been the main home of Apple since Steve Jobs returned to Apple but also features on the front of the Google Map icon on every single iPhone, iPad and iPod Touch.

Me outside Apple HQ

I got my photo taken and chilled in the oddly named BJ’s bar opposite. I also visited the company store there and bought some Apple gear, I just need to work out how to fit the coffee mugs into my suitcase now! Just about to grab some food and chill in a bar with a number of other iPhone developers before getting an early night. Some people recommended getting up at 3am to get a good seat. Mmm, if only I hadn’t just tested out my new coffee mugs…