Fixing the Expired Certificate for iPhone Development Environment

Introduction:

This is a short guide to resolving the issue of the expired certificate using XCode with the iPhone SDK – its probably relevant for setting up your certificate from scratch as well. I am not totally convinced this is the best way of fixing the expired certificates for iPhone Development, but it worked for me so.

The Environment:

The development environment  is a follows:

  1. MACBOOK PRO;
  2. SnowLeopard OS;
  3. XCode 3.2 ; and
  4. iPhone developer program member.

The Problem:

You’ll may get a variety of messages when the certificate expires and they will include:

a valid signing identity matching this profile could not be found in your keychain

or :

 

code sign error: the identiy matching this profile could not be found in your keychain

 

or

You currently do not have a valid certificate

Getting a new certificate:

  1. From Applications->Utilities Click KeyChain Access
  2. From the Keychain Menu Select Certificate Assistant->Request a Certificate From a Certificate Authority
  3. Enter your email address and your common name and select Save to disk
  4. Go to http://developer.apple.com/iphone/index.action and login
  5. Go to the Provisioning portal in the iphone developer and select Certificates
  6. Remove the existing certificate
  7. Add a new certificate
  8. Choose File selects the file you created in step 3
  9. Click Approve
  10. Reload the page. Now you should see the download button.
  11. Click Download
  12. Then select it the downloaded file
  13. You will receive a dilog stating “Do you want to add the certificates from the file…. To a keychain”. Select YES.
  14. Click Add and you should see the certificate list with the new valid certificate displayed.
  15. That’s all you should have to do however you may notice a dialog asking you to use the new key – just select Allow or Always Allow.

Dom

Combining .Net and iPhone Development (Part 2 Adding another string to the bow)

Often when you read blogs or articles on improving .NET development skills you’ll find a recurring theme : learn another language or learn a new technology. For the C# .Net developers that usually means looking at languages like VB, Ruby, Java, PHP, Pytho. In terms of technologies it involves looking at one of the myriad of .Net technologies like MVC, Silverlight, Entity Framework, WPF, AJAX, jQuery,Windows Mobile etc… etc…

So the main reason this is a recurring theme, is because as a developer by learning new language you are taking yourself outside your comfort zone and exposing yourself to a new syntax, techniques, tools and frameworks. Whilst this can be daunting at times or may even seem slightly pointless (ie. If you are a great VB.NET developer in a great  VB.NET job why would waste your time changing), you need to consider the potential benefits in applying yourself to a new language.

Now iPhone development is not the most logical move for .Net developers. Historically, there is a fair bit of tension and antagonism between the Apple and the Microsoft camps. Suggesting there is a logical reason to  combine the development skillsets of the two big competitors may not seem that sensible. However, from a .Net developers perspective I feel there is a significant case to add the iPhone SDK to your skillset including:

  • The massive growth in iPhone usage is now starting to see a change in job prospects for iPhone developers. For Australian developers just type “iPhone” in a developer job role in www.seekit.com.au and notice the number of roles appearing for the iPhone.
  • Adding another language to your toolkit makes you more flexible – a downturn in one specific toolset market may not impact another market as seriously.
  • Having iPhone SDK experience or projects on your CV is significant (the above two reasons are pretty good reasons for this).
  • iPhone usage is massive – if you sersiously think you want to develop and publish apps, the appstore provides you the perfect avenue
  • The syntax whilst different is not that hard to learn particularly with some good references.
  • Additional devices (including iPad) are based on the same fundamental development environment.

Next Part 3 – Ok I want to do some iPhone Development what do I need?

Dom

Combining .Net and iPhone Development (Part 1 – Setting the Scene)

This is the first in a series of short blogs (you’ll get the idea soon that I really don’t like big blogposts – except for tutorials of course) that I am writing on the merits of combining the two development technologies: .Net and iPhone. I am going to focus on why a .NET developer would seriously consider adding the iPhone SDK to his/her skillset.

So to get the fundamentals out of the way lets just outline what each means:

1. .Net Development

Developing applications on windows based PC’s for either generally Microsoft Operating Systems (including microsoft handheld/tablet devices) and/or for the web. The primary tool is Visual Studio using the C# or VB.Net language.

2. iPhone Development

Developing applications on Macintosh computers for the iPhone (and iPad) using XCode (with Objective C) and Interface Builder.

I’ll also set the scene here so that you understand my perspective – I have been writing .NET applications  for a living for many years, and have been playing around with the iPhone development environment in some of my spare time at home over the last year or so but haven’t made major advances – YET!!!!.

The reality with these posts is that they are from the perspective of a .Net developer trying to build both my .Net and iPhone skills at the same time, so take that into account when you read future posts.

Next : Adding another string to the bow

Dom