Apple Provisioning Woes

I’m about to submit an update to Apple for Fishmaster and have been facing some difficulty with the codesign-ing process. I followed their step-by-step process on the Developer Connection part of the website. However, when it came time to upload the binary I kept getting an error message saying the that binary wasn’t properly signed.

They have steps to verify if you have a successful build. I initially glossed over this as I didn’t remember verifying my build the first time through. Plus, things went smoothly the first time. Anyway, this turned out to be the key this time around.

I followed the steps as far as modifying the project and target preferences to codesigning using the iPhone Distribution. I would submit it to Apple and it would tell me that my binary has codesigning issues. After fiddling with every possible combination, I was ready to give up.

Here are two tips that will help you debug your situation faster.

1) The Build Log is your friend. After building, you can find the Build Results under the Build Menu. The last steps in any build should be the command to GenerateDSYMFile and Touch. I kept seeing this. In a successfully built binary with codesigning you should also see steps for ProcessingProductPackaging and CodeSign show in the image below. In unsuccessful builds, I did NOT see these two commands being run.

codesign


2) CodeSign command line. There is a command line command (that sounds odd :) ) to check to see if a compiled app is codesigned. The simplest form is to run “codesign -vvvv MyApp.app” in the directory where MyApp.app is built. This will be in your build directory under Distribution-iphoneOS. If you get an error that looks like

“MyApp.app: object file format invalid or unsuitable”

then you’re in the same hold I was.

But there was one part of the build process that was different when I finally fixed the problem. When it built successfully I was prompted by keychain that it was using my iPhone provisioning profile to sign the binary. Once I saw this, the binary was properly signed.

What was my problem? I had XCode using the iPhone Simulator 3.0 SDK when building.. There was no particular reason except that that’s what I was last using when I was developing. For no reason whatsoever, I changed this to iPhone Device 3.0. Lo and behold it worked.

I don’t recall seeing anything like this about their docs but, then again, I’m usually skimming anyway. When you use the iPhone Device 3.0 SDK, the build will be put in the Distribution-iphoneos directory. As opposed to building with the iPhone Simulator 3.0 SDK which puts builds in the Distribution-iphonesimulator directory. The screenshots from Apple’s step-by-step instructions do show the builds coming from the Distribution-iphoneos directory.



No Comments

Going Live with your First App

When I was putting the finishing touches on my app, I was excited to get it out. Little did I know how much patience it would take and so I decided to write a post on it for all the other developers who find themselves in the same position of releasing their first app.

Step 1: Buy your developer’s license. You’ve probably already done this by now.

Step 2: Submit your app to Apple. If you google how long this takes, you’ll see varying degrees of length. It seems that Apple has really tightened their process. It’s now June of 2009 and it took about 2-3 business days for them to approve of my app. Just to note, my app was a pretty straightforward game and there are no controversial elements to it. You will receive an email once it is approved. The email may say that it’s ‘Ready for Sale’ but that’s now exactly right. See the next step.

Step 3: Fill out your paid contract. I was ready to release my app but when I went to iTunesConnect the status showed up as ‘Pending Contract.’ If you go back to the iTunesConnect main menu, you’ll see an area titled ‘Contracts, Taxes and Banking Information.’ Of particular importance is the contract to sell paid apps. You must fill out this contract and wait for Apple to approve it. Despite the long wait I read about online, mine only took about 1-2 business days. I did NOT get an email about a status change and just checked this manually. My contract for free apps was already in an approved state.

Step 4: Really ready for sales. At this point, your app status should show up as ‘Ready for Sale’. I was really excited but I’m unable to find my app in the store by searching through iTunes or searching through the App Store on the phone. I did notice a little arrow next to the title of the app on the iTunesConnect application management page which will bring up the app in iTunes. I’m guessing the reason this is is that Apple has to update all their search indexes so that new apps are added to them.

Final word: So I waited about 2-3 business days (over the weekend) and my app still wasn’t showing up when I searched for it in iTunes or through the App Store on the iPhone. After reading several Google links, a suggestion someone made was to update the release date of your app to the current day once you received the Ready for Sale email. Lo and behold, several hours later it started showing up under the searches! I’m not sure if that’s what did it or if it was coincidence but I was reading that most people would find their app in the App Store several hours after they received the Ready for Sale email.

No Comments

iPhone 3GS

iphone3gs


Everytime Apple has a WWDC, I find myself glued to Gizmodo or Engadget to see what new goodies Apple has in store for us. There was much speculation about a new iPhone in which I had particular interest.

Well, words out. I’d say this this is one of those releases that’s more than a minor update — heck it’s a major update. But there aren’t any new groundbreaking features. Much of my excitement revolves around features that people have been expecting since the initial release but, hey, Rome wasn’t built in a day, right? This includes:

  • Cut and Paste
  • Laptop tethering (works through Bluetooth woot!)
  • Landscape use across all apps
  • Search across all apps
  • Searching offline email
  • Video

The hardware updates are nice but to be expected and are evolutionary as opposed to revolutionary. The focusing abilities are nice. In a perfect world, video would rival products like the Flip Mino or Creative’s Vado but I’m guessing it’s not physically feasible at this point.

I look forward to the groundbreaking features in iPhone 3.0 that will only be fully realized when apps fully take advantage of these features. I look forward to building games where people can play together over Bluetooth and I’m curious to see how people will implement push notifications (making it effective but not intrusive). iPhone apps will also get a chance to fully integrate functionality like maps and email which is minor yet huge at the same time.

Jobs was a no-show today but is reported to be officially back by the end of the month (reports have him spotted there already). Hopefully his health has improved.

No Comments

“Submission” to Apple

I just submitted Fishmaster to Apple. I’m pretty excited about it as I’ve been working on this game for a couple months.  Check out the video promo and screenshots:

 

No Comments