Just over a year ago I took a stab at developing an iOS native extension for AIR. It was really just a learning exercise and I wasn’t actually trying to write anything specific. I certainly got a lot from it but having not revisited ANE development since, I recently found to my frustration that I’d forgotten most of what I’d learned. To make matters worse, I’d lost the source code and build scripts from my original experiments.
So to give myself a quick jumpstart back into ANE development I thought I’d give the Easy Native Extensions eBook by Radoslava Leseva a try. I’d previously taken a look at the free edition but for one reason or another not bothered to actually purchase the full version. Well all I can say is that it was easily the best $30 I’ve spent in a while. I was back up and running in under a day and as an added bonus Radoslava does a brilliant job of detailing how to wrap up the whole build, packaging, and deployment process into a single Ant script. Her build script was much better than the crummy one I remember cobbling together for my original ANE attempts.
One of the things I hadn’t really tackled previously was learning how to properly debug my ANEs. Thankfully a companion debugging guide came bundled with the package, which takes you through the steps required to write a native iOS project that will wrap around a test AIR app. With that you’ll be able to add breakpoints to Xcode and inspect your ANE’s native library.
Come the end of it all I’d bashed together a new demo ANE that was happily utilising a whole host of native iOS stuff including: local notifications, native alert boxes, native UI elements, table views, and some animated bitmaps via UIImageView. I’d also successfully managed to create and populate some ActionScript objects on the native side before passing them back to my AIR app.
So if you want to try your hand at ANE development then I whole heartedly recommend you put the Easy Native Extension eBook top of your list. It’ll save you a lot of time and head scratching. Sure it’ll only take you so far on your journey but it does end with a list of resources to look up next. A few other places I found to be of particular help were Richard Lord’s open sourced ANEs on GitHub and part 1, part 2, and part 3 of Transferring Data with AIR Native Extensions for iOS by Tom Krcha.
Oh, and there’s also the post I wrote last year detailing ten steps to learning ANE development. It’s still worth a look. Have fun folks!