I spent most of the day prepping for iPhoneDevCamp 2 and being able to offer the ability to distribute free open source apps to the iTunes store from people who don't wish to use their iPhone Developer account for experimental or free software. I'm also hoping to be able to set up ad-hoc distribution, so that apps for the Hackathon Contest can be shared during the conference.
I decided to offer as my first iPhone application a very simple app called red:green inspired from an idea by Jerry Michalski. It is basically a native version of the red:green web app that I helped some participants with at last year's iPhoneDevCamp.
The application is very simple, it just displays a green screen for approval, and a red screen for dismay. The programming for it probably took an hour or so, and doing some simple polish of the about box and some little things added maybe two.
However, dealing with the code signing issues so that I could test it on the iPhone rather then Simulator, and today to send it to the iTunes App Store have been a nightmare. First at WWDC when I got approved for the iPhone Developer Program, I probably spent 6+ hours just trying to get code signing working for the Debug profile so that Xcode can load applications on my iPhone for testing. A number of Apple employees tried to help, but were unable to get it to work. Finally, another iPhone developer on the show floor was able to help me get it running.
However, several times since then the code signing setup has mysteriously broken, and I've need to reboot my iPhone and my Mac, or even reset up Xcode.
Some of the problem is the arcane, confusing, and poor documentation on how to code sign iPhone apps using Xcode, but most of it is the clunky setup of various keys, certificates, provisioning profiles, build properties, etc. that is required to get things to work. Of course, it is difficult to get help online or from fellow developers because the iPhone SDK is still under NDA (another sore subject.)
Today, after getting everything working with the latest SDK, testing on the simulator and on both the iPhone and iPod Touch, I spent maybe 3-4 hours setting up the Application and Support web pages for the red:green app, as well as all the graphics, text, and icons required for the iTunes App Store.
Then I had to through the whole code signing process again to get the Distribution profile working for the App Store with a whole new set of certificates and provisioning profiles.
Everything was working, and Xcode was reporting that it signed my red:green app without an error. I uploaded all my text and graphics to iTunes. I thought I was home free. However, when I got to the very last step for submission and used the iTunes Application Uploader, it reports "Application red-green.app failed codesign verification". I have no idea what is wrong, as everything seems to be set up right.
I've gone through all the docs again to make sure I didn't miss any trivial thing, but nothing obvious so far. But so many things have been done to my project file to get signing to work, especially since it was originally iPhone SDK Beta 7 that I first got it working for my Debug profile. So tonight before I go to bed I'm going to re-download the final iPhone SDK, delete my old SDK and do a install fresh. Then in the morning I'm going to rebuild my application from scratch using the latest iPhone SDK template, and copy my code by hand over to the new project. Then hopefully the default project settings for a brand new project from the final SDK will all work correctly for me to be able to sign and submit the app to the App Store by the weekend.
If I can't get that to work, I'll have to resort to using one my my precious ADC Support Incidents, which I hate to use on something that should be trivial.
So far, 1 hour coding, 2 hours polish, 1 hour testing, 4 hours for required text graphics & websites — all relatively fun and interesting. Add to that maybe another 10 frustrating hours dealing with code signing which still does not work.
Wish me luck.
Recent Comments