Google+ Badge

Tuesday, December 21, 2010

Finally have my app on the iPhone building / installing

This has been a long drawn out battle with the Mac, Apple and Xcode but I finally have my app running on the iTouch. It all starting trying to get an account with Apple so I could get a developer key. The account got hosed and it took many phone calls and emails to get it fixed. It was over a month and a total refund with cancellation of account to make it happen.

Yesterday I finally get a developer certificate set up. I plug in the iTouch which fires up iTunes which wants to do an install of latest iOS. I let it do that and then fire up Xcode where it says it can not work with the attached device even though it is registered with Apple under my account. I try to provision it but that only annoys it as I am not the company administrator. After looking up various things on the web I land on the dialog that states my SDK it out of date so Xcode can't deal with the device.

Hit the Apple site to download the SDK update, it is 3.5g! Honestly I could download every Java IDE out there for pretty much every OS and not add up to 3.5g of download. There is no "upgrade" either, you download the whole damn thing. Guess that makes it easier for Apple and keeps every Apple user out of trouble but it is a huge waste of bandwidth. Nothing I can do about it so I start the download knowing I will not be able continue my experiment until the next day.

This morning I installed the new SDK. That goes cleanly so I plug in the iTouch. It does not recognize it but asks to talk to it for a bit to discover things. No problem there. Do a build but it will not work on the device as the architecture does not match. I dig around in project properties - and remember this has all worked just fine in the iPhone simulator - and change it all from armv7 to armv6 and armv7. Build and it is mad, clean and build and it is still mad. Do more Google work and find another place you have to set it to armv6. Build and mad, clean and build and it seems to be mad but still it pops up on the device.

Runs just fine but I see a small change I want to make so I adjust the code and the build / run on device is no longer mad. Everything appears to be in working order at this time but it sure was a long battle. I know I had a minor battle with my Android phone to get proper USB drivers installed but everything else was very smooth. Even the USB battle only took a few hours tops, the iTouch battle was over a month. I really wanted this in place before Apple shut down for the holidays. Happy it is working but very frustrated with the overall developer experience with Apple.

Today I get to go back and work on the Android code base. Will be much happier over there but I am really glad I got the code pushed to the iTouch finally.