Thursday, May 26, 2011

Submitting an app to the iPhone App Store

Well, I had previously agreed to submit an iPhone app to the app store for a client I developed simple quiz application for. It took a while to get to this point because my client had difficulty getting a developer's certificate from Apple for his corporation. He finally submitted for it under a personal licence, so here I am.

So, let's see. SO has a page on how to do it - let's look at that.

"Start by visiting the program portal and make sure that your developer certificate is up to date. It expires every six months and, if you haven't requested that a new one be issued, you cannot submit software to App Store."

Ok, I have one and my client has one. This is under his name. Let's see how this works. Ok, it says "login to the developer's portal. click login.

Ok, it says "Sign in with your apple id".

Ok, I logged in.

"Open your Xcode project and check that you've set the active SDK to one of the device choices, like Device - 2.2. Accidentally leaving the build settings to Simulator can be a big reason for the pink rejection. And that happens more often than many developers would care to admit."

I better plug in my device and make sure it runs. Ok - it's syncing with iTunes - which I've just upgraded. How's that going to affect this? What exactly will iTunes sync up? Photos? Mp3s?

Man, it's hot here. Panera bread. It's hard to figure out which way these things are going to go. I was freezing at the Panera the next town over the other day.

I have to stay focused. Just wait this one out. There's a baby crying. I need to get some exercise. I wish I could play some tennis, but my rackets are being restrung.

Ok, the itunes icon is jumping up and down. Good, both systems are showing sync in progress. Ok, xCode needs to collect debugging information on my device. Why? I've debugged before on the device.

Hmmm. No provisioned IOS device is connected. Is it on? Dark, locked. Try again.

Same problem. Ok, so, what do I do now? I know I had it running on the device before. Oh, I see - I logged on with my customer's account. I have to log on with mine.

What is my account? Ok, got it. Now it runs. Nice and simple. Will I need to add the device to my client's profile to upload it?

Let's see. Ok, Xcode is set on device. And I put it on release instead of debug.

"Next, make sure that you've chosen a build configuration that uses your distribution (not your developer) certificate. Check this by double-clicking on your target in the Groups & Files column on the left of the project window. The Target Info window will open. Click the Build tab and review your Code Signing Identity. It should be iPhone Distribution: followed by your name or company name."

I need to log back into my client's account now. Ok. Do I need to add a device profile for my device to upload it? I don't know. I'm going to go ahead and try to upload.

"Check this by double-clicking on your target in the Groups & Files column on the left of the project window."

Ok, I've got it.


"The Target Info window will open. Click the Build tab and review your Code Signing Identity."

Ok, I'm there.

"It should be iPhone Distribution: followed by your name or company name."

It is followed by my name, not my customer's name. So, now what?

From what all I can figure out, I need to create a certificate-signing request in the customers name. This is under:

http://mobiforge.com/developing/story/deploying-iphone-apps-real-devices

"Generating a Certificate Signing Request

Before you can request a development certificate from Apple, you need to generate a Certificate Signing Request. This step must be performed once for every device you wish to test on. To generate the request, you can use the Keychain Access application located in the Applications/Utilities/ folder (see Figure 2)."

Ok, I'm there.

Next, "In the Keychain Access application, select the Keychain Access > Certificate Assistant menu and select Request a Certificate From a Certificate Authority (see Figure 3). "

Check.

In the Certificate Assistant window (see Figure 4), enter your email address,

Check (client's address)

"check the Saved to disk radio button and check the Let me specify key pair information checkbox. Click Continue.

Check and check.

"Choose a key size of 2048 bits and use the RSA algorithm (see Figure 5). Click Continue."

Got it.

"You will be asked to save the request to a file. Use the default name suggested and click Save (see Figure 6)."


Done.


"Logging in to the iPhone Developer Program Portal

Once you have generated the certificate signing request, you need to login to Apple's iPhone Dev Center (see Figure 7). Click on the iPhone Developer Program Portal link on the right of the page. Remember, you need to pay US$99 in order to access this page."


Ok, I am on his account.


"In the iPhone Developer Program Portal page, click the Launch Assistant button (see Figure 8) to walk you through the process of provisioning your iPhone and generating the development certificate."


Let's get to figure 8.


Ok, he apparently didn't give me the correct password, or somehow didn't complete the registration process. Ouch.

Here's the link I'm following:

http://mobiforge.com/developing/story/deploying-iphone-apps-real-devices

I'll pick it up tomorrow, once the signon situation is resolved. Is the certificate wrong?

No comments:

Post a Comment