Wednesday, February 25, 2009

Change of Direction with IPod Phone/Touch Development

Well, I stopped working on the Touch Table project and have it shoved in the attic to perhaps return to in the future.

I'm currently attempting to learn development on the IPhone in an effort to develop the application my younger brother thinks will make money. (He isn't a programmer.)

Here are some of the resources I used in my attempt to learn:
  • eclipse-iphone-cdt.pdf - I can't find the blog entry that got me to this doc, but google it and you can find it. (I found one that didn't require registration to get to, but maybe it was pulled since I couldn't find it tonight?) I used it in an attempt to setup a development environment on my Windows Vista box in Eclipse. This attempt ultimately failed due to missing the darwin library on my machine. The method described involved the use of cygwin to compile the source that was written in Eclipse.
  • http://afternoonnap.wordpress.com/ - This blog has some good tutorials and sample code that I used to get everything working for compiling the source directly on my IPod Touch. The couple of problems I had were quickly answered by the blogger via gtalk/gmail. The compilation on the IPod Touch itself can be a bit tricky as you have to have the ipod setup just right with the correct packages and then also have to be able to transfer the files over and access the device and compiler through putty.

At this point in time I have successfully compiled two basic applications on the device. For quick reference, here are some of the problems that I have had:
  • Missing UIKitDefines.h. Pulled it from a the iphone toolchain that I had setup for use with Cygwin when I was trying to compile locally.
  • Had to sign the binary that was compiled before it would run: ldid -s binary
  • Had to give the binary execute permissions: chmod 775 binary
  • helloworld.m:6: error: cannot find interface declaration for 'UIViewController', superclass of 'HelloController' - Not yet resolved.

Most of these problems were fixed with the help of the blogger from afternoonnap. In fact if you want to learn this you would be better off just checking out a few of his tutorials.