My work with the iPhone SDK continues, working on three clients to our backend services at the moment. I’m very much looking forward to blogging about this as it’s cleared at work. But as you probably have noticed from my posts, working locally and synchronizing with the back-end is what I believe most iPhone applications are about. Do quick and stuff you need to remember on the iPhone, work out the details from your computer, keep everything in sync. That’s why I’m excited about Google’s data integration. That’s why I’m excited about integrating SQLite. That’s why I spend a lot of time working with SOAP integration. And of course, it’s all good fun. I’m tempted to say that working with a back-end is a lot easier than doing everything local. At least the satisfaction of seeing the work you do on the little screen influencing the real world is a lot better than it just influencing that screen. :-)

One thing I’m miffed about, though, is the NDA. They’ve got a 100,000 downloads, and if 1/20t of this is developers, then that’s still 5,000 developers. Where are they all? I can’t find much going on on discussion boards, forums, mailing-lists or whatever. And Apple is only slowly letting them in to their community. I hope they’ll let us in soon, I want to discuss problems I’m having without having people with briefcases coming after me, I want to know what other people are working on, I want the development to be more social. Right now, it’s mostly a one-man game, and that’ll get old very soon


After asking on the MacRumors forums I was pointed back to FMDB that I had looked at a couple of days ago. FMDB is a Cocoa wrapper for SQLite3. I had a look at it, and after my initial difficulties, I found that I was trying a way to complicated way to use it for my iPhone applications. To add FMDB, simply do the following:

  • in XCode in your project window, rightclick your “Classes” and Add -> “New Group”, call it FMDB
  • drag the files from src in the FMDB package into the new group
  • Rightclick Frameworks, Add -> “Existing frameworks”, select /Developer/Platforms/Aspen.platform/Developer/SDKs/Aspen1.2.sdk/usr/lib/libsqlite3.dylib and press “Add”
  • Compile, smile and start using it :-)


Way cool, a composer/musician/LDAP-developer has made Mono run on iPhone. Jailbreaked, by the look of it, looking forward to seeing it compile with the official iPhone SDK as well and a Mono Touch library. :-)


So, two days of implementing ideas, trying stuff out, reading discussions, documentation and watching videos have passed since the iPhone SDK was launched. My dayjob has become developing for the platform, which is great. It’s a fun platform to work with and developing for it is quick. I’m really looking forward to Apple delivering those certificates soon so I can try it out on the iPod Touch (no iPhone in Denmark yet).

So that was rant number one, certificates. Why-oh-why do I need them when I do software development? I would also very much like to be able to share my apps with friends, perhaps even beam them wirelessly over to them. And I should be able to do this with a self-signed certificate like with SSL. Self-signed for development, signed by an authority for production, that’s a good scheme.

What’s up with Bluetooth? Has anyone been able to access it through the SDK yet?

I write applications that want to synchronize with a repository of files on the computer. How can I arrange such a synchronization without making a web service that the user first can synchronize with his computer and then with his ipod/iphone?

Multitasking. Sure, I can save and restore my application for most things. But if I have to download the files I need from the network, the user is going to switch applications. (I’m still looking forward to see how I best should work with webservices) Good thing that
ramond has gotten background-running apps to work, but this will break with Apple’s license, so no idea if this would kill the product on the iTunes App store. We’ll have to wait and see for that

.

The videos refer to the XCode and Cocoa-dev mailinglists on lists.apple.com, but the moderator on the Cocoa-dev list has made it clear that iPhone development related discussions are not welcome

Funny little thing is the metronome app, clearly made by someone who does not play music. The last beat in the group is the accented one in this app. ;-) But it was a nice illustration as some of the first things I want to make are a metronome and a tuner. The tuner is going to be tricky with the floating point instruction set being reduced in the 16-bit Touch set, might have to recompile as ARM. I’m looking forward to seeing it outside the simulator (and finding out if the iPod touch has a microphone ;-) )

How do you unit test these apps? :-)

The apps are sandboxed, so no ssh into the phone without a jailbreak I guess. But ssh clients should be trivial now

So, I’m excited about this and working with it. I’m really looking forward to integrating it with our products at work, and I’m looking forward to writing music apps on my spare time (which is going to be limited until my exam June 9th is over). I guess all of these things will be answered shortly after my exam is done. :-)


After yesterdays iPhone SDK release, my boss agreed that we should spend some time making a client for our apps with it and got me an iPod touch to work with. Good stuff. :-) The SDK and tutorials seem very good. Strange thing that many of the samples don’t run in the Aspen Simulator. Especially since I need a certificate to be able to deploy them on the iPod, and that certificate is right now not available outside the US. I didn’t expect to need a certificate to develop, I thought that was just for publishing on iTunes. So not being able to deploy those samples on a device and not being able to run them on the simluator, I’m stuck with guessing. I hope that is soon resolved as developing for it is good fun. :-)