Getting "A valid signing identity matching this profile could not be found in your keychain" warning

OK, I had this exact problem and have searched the internet far and wide for a clear description of what you should do to resolve this.

I know this is an old topic, but I'm going to write this for the people who may stumble across this in their seemingly hopeless search for an answer.

  1. I'm sure there is another way to do this, but in all honesty, unless you're working with a TON of apps and are feeling too lazy to reassign a new certificate, just do this!

  2. I am really new to the dev center on apple.com and to xcode, so i'm going to write this out as thoroughly as I can.

Obvious:

READ ALL OF THESE INSTRUCTIONS BEFORE STARTING! THERE ARE A FEW TRICKY THINGS THAT SHOULD BE NOTED BEFORE STARTING! I TRIED TO MAKE THEM OBVIOUS IF YOU DIDN'T READ THEM ALL BEFORE YOU STARTED, BUT FOR SAFETY SAKE, read them all first.

You need a paid developer account to put ANYTHING on your iphone/ipod/ipad through Xcode.

Ok. first, go to your applications folder and open keychain access.

Note that you can click on "login" and "System" words at the top left. This is vital to a later step, and to the next couple as well. You will need to unlock them if they are locked so that you can modify the content in each.

find your certificates(all of them, the worldwide dev one, the developer one, and possibly another one with the same name associated with it as the developer) in login and system

delete the bastards.

If you try deleting them, and they still stay in the list, you will just need to reboot your computer and do it again. This was the most annoying part of my journey to understanding the solution, so enjoy this information. A reboot will fix that issue if it arises.

Once all traces of those certificates are gone from the lists:

Get rid of the keys associated with those certificates. They will probably have your name attached to them and you can find them by clicking on "keys" at the bottom of keychain access window and looking in either the login or system list. Delete them and delete them good. Remember, if they don't leave the list after you press and confirm your deletion, reboot and it'll work.

IF YOU WORKED ON A DIFFERENT MACHINE WITH NO ISSUES AND THEN SWITCHED TO A NEW MACHINE AND EVERYTHING WENT HAYWIRE, THEN THERE WILL BE NO KEYS TO DELETE. THIS IS WHERE THE PROBLEM HAS BEEN FOR YOU. DO NOT WORRY! WE WILL CREATE NEW KEYS TOGETHER AND WE SHALL BE HAPPY!

Using SAFARI

Using SAFARI

Using SAFARI

(using safari is important because you will come across a needless error while trying to upload your certificate request otherwise. This was one tidbit of information that saved me from tearing all of my hair out as I tried time and time again to submit through Chrome.)

go to developer.apple.com and sign in and go to the ios portion of the dev center.

go to the ios provisioning portal on the right hand side of that screen.

click certificates, and REVOKE the current (and problematic) certificate.

click Home on the left hand side.

click on the "Launch Assistant" button under the "Get your application on an iOS with the Development Provisioning Assistant" headline towards the bottom of the screen.

Go through and follow all of the directions.

It will tell you to open up your applications folder and open keychain assistant.

at the top of your screen (next to the apple symbol, while the keychain access window is active (hey, i said i was going to make it easy for beginners) click on the words "Keychain Access"

click certificate assistant

click Request a certificate from a certificate authority.

fill in your information and then click saved to disk. and continue.

follow the steps to create the request file and save it to your desktop (which is default, so you will probably just need to say ok)

go back to your SAFARI window, and it will be asking you to choose the certificate request file.

choose it from the desktop and continue through the assistant until it's complete.

you have created the necessary public and private keys while creating the certificate request. SO YOU HAVE KEYS! YAAAAY!

next step is to download the WWDR intermediate certificate and your newly created development certificate.

Both of these can be found in the "certificate" tab on the left side of your screen. The WWDR is shown as a link under the development certificate list.

Download them and DO NOT CLICK THEM TO AUTOMATICALLY INSTALL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

This is where you will get into stupid trouble and think, I DID EVERYTHING RIGHT! I DID WHAT YOU ASKED OF ME AND STILL THIS DOES NOT WORK!

Here's the trick. The final piece of the puzzle.

Open your downloads folder and find the downloaded files.

Open Keychan Access (if you closed it) and find the keys that were created while making your certificate request. They will be either in the login or the System list. Don't forget to unlock the lists if necessary.

Drag and drop the downloaded certificates INTO THE LIST WHERE THE KEYS ARE!

If you drag and drop them into the other list, the keys will have no idea that you did that, and they will be lonely forever and you will feel your chest tighten up and the rage of the unknown boiling from your gut.

If you dropped them into the list that contains the keys, then you will notice a little drop down arrow to the left of the iphone developer certificate you just dropped in there. Click it and revel in the beauty of a key hanging out with its long lost friend.

THAT'S IT!

Now when you make a new mobile provision through the ios portal, and link it inside there with your newly created certificate, everything will be copacetic inside Xcode.


I had the same problem and solved it very simply in XCode Organizer - I'm using Version 4. All I did was go to the top Library section and select Provisioning Profiles, and import the downloaded profiles that I had received in my Safari downloads named "name.mobileprovision".


It sounds like you don't have a development certificate in your keychain that matches one of your provisioning profiles.

dev portal screenshot

Make sure that you have the dev cert and you have matching provisioning profiles. Also, if your app is using the keychain, make sure to include an Entitlements.plist (containing your app id, so your apps can share a "slice" of the keychain) in your project.