Can't validate iOS app (getting already has valid certificate) - ios

When switching to Yosemite I did a clean install of my Mac and now I'm having issues submitting my iOS to the store.
When I validate my archive I keep getting "Your account already has a valid iOS Distribution certificate".
I have tried renaming and redownloading my certificate from the member center but that didn't work.

A very common "doh!" is you copied over the relevant item in Keychain,
BUT!
you forgot the private key part:
So fi the disclosure triangle on the left is missing and the "key" symbol part is missing, that's what's happened.
Solution: just EXPAND the triangle and highlight BOTH parts, then click export. move the file to your other Mac and open.
ALSO -- don't forget, in Xcode you have to literally login these days.
Xcode - Preferences - second tab == Accounts
It's easy to forget, say, one of your various client's accounts there.

The App Distribution Guide on the Apple Dev site states that this can be a frequent problem if moving from one mac to another (or re-installing in this case). A simple fix would be to export your certificates as a developer profile file from your previous install, but you probably don't have a back up readily available. Try clicking the 'revoke and request' button and see if you can re-download your developer profile file.
Hope this helps,
Will

Related

(0xE8008018): The identity used to sign the executable is no longer valid

I'm trying to debug my app on Xcode and I'm having the following error:
The identity used to sign the executable is no longer valid.
Please verify that your device’s clock is properly set, and that your signing certificate is not expired.
(0xE8008018).
Now I know there are many questions regarding this issue, and I have tried every possible way to solve it, what I have tried so far (didn't work):
Some suggested to restart Xcode.
Refreshing the account.
Deleting all the certificates from the keychain.
Revoking all the certificates from the member center.
Installing the certificates manually.
Checked my Devices clocks (obviously)
Removed Xcode (disparately) and re-installed it.
Checking my project Build config, and made sure that the developer account is selected.
Checked my account expiration date (it's renewed 5 days ago)
Checked if I have to accept some Conditions and Terms (none)
Disabled the devices I have in the Member profile
Tested on multiple iPhones (same result)
Checked out a git tag/branch which is stable (I thought the project might be corrupted also disparately)
My concern is that it might be a temporary issue from apple, or a bug in Xcode, although it was working hours ago on my iMac, when I switched to the MacBook Pro I had this issue (and I always do this with no problems at all).
Running:
OSX Yosemite 10.10.4 (14E46)
Xcode 6.4
Trying to remove and re-add your apple id, it works for me.
xcode: Preferences...
Accounts
Select your apple account
Remove that (-)
Add again your apple account (+)
Run yor app!
After hours of investigating, the shell script for signing the project was failing at some point, without reporting back to Xcode.
I noticed that in the DerivedData folder (found in /Users/yourUsername/Library/Developer/Xcode/DerivedData/) of Xcode there were two folders with the same name of my project ending with a different hash, for example:
ProjectName--dcakkvkdhqvxstehdiuzwbpsmdal
ProjectName--kurbctkdhqvxuytrwnczwbpsmdal
I closed Xcode, and made sure to delete both folders, somehow Xcode generated two different folders for the project at some point, restarting Xcode after the deletion of the folders fixed this.
I have experienced the same situation.
But it was cleared by deleting and downloading again the provisioning profiles on my mac.
The location of the provisioning profiles is:
/Users/yourUsername/Library/MobileDevice/Provisioning Profiles/
I had the same issue. What helped me:
Set Profile to a wrong one (other project)
Run project and received the popup with information that provision profile is wrong and proposal to Fix the issue
Press Fix the issue
Just login to your developer account and create new developer certificate or revoke older one an create new. It will resolve the issue.
A Solution that might help some People
Go to developer.apple.com
go to the identities/certificates page
then click on Provisioning Profiles If you found few invalid
profiles just edit them
Make sure you check your main profile.
Click generate and close.
Now in XCode, remove your profile Add it again.
You're good to go
This will happen if you changed your Primary Email
Delete files and folders from:
~/Library/MobileDevice/Provisioning Profiles/
~/Library/Developer/Xcode/DerivedData/
The only solution for this problem is to delete the folder from
~/Library/Developer/Xcode/DerivedData/YourAppName-
This way everything will get back to normal !
Cheers !
All of the answers helped a lot but in my case developer certificate got expired that's i was getting this error while building the app.
Keychain -> Login -> My Certificates
So just removed the certificate and created new one worked fine for me.
NONE of this worked for me
vomako 's answer at The identity used to sign the executable is no longer valid
DID work -
i.e.
"Solution within Xcode:
In Xcode, go to Preferences --> Accounts --> View Details
Press the refresh button in the lower left corner (called Download all in Xcode 7)"
end of his post
It's a little refresh symbol now (circling arrow)
Then click on the Request button
Hope this saves somebody some time
I have solved the same problem. Just from "https://developer.apple.com/account/ios/profile/production/create" re-created the new Provisioning Profiles. Then download and install the new Provisioning Profiles of (Development and Distribution).

IOS: Code signing error Xcode 6.3.1 [duplicate]

I've build a new application which is going to support IOS 7. I got the new XCode 5 GM and tried to sign my apps using my fresh provisioning profile and distribution certificate, but i'm having trouble with distribution. I constantly get the following error:
"Invalid Code Signing Entitlements. The entitlements in your app
bundle signature do not match the ones that are contained in the
provisioning profile. According to the provisioning profile, the
bundle contains a key value that is not allowed:
'[XXXX.com.sample.company ]' for the key 'keychain-access-groups".
Also the same error for a key value called application-identifier.
Screenshot of the errror:
The solution lies in the new option in Xcode 5 which says provisioning profile. Just set the project target's provisioning profile to the right one and it'll work.
If you are like me and you think you tried EVERYTHING, archived your project over ten times, banged your head on the keyboard and still get this error. Please do yourself a favor and simply Restart XCode, it worked for me. Sometime Apple... I hate you.
I went through many of the steps above but what finally worked for me was refreshing my profiles in Xcode. Not sure why it was necessary since my app's distribution profile was showing up in the list already. Here are the steps:
Xcode Preferences
Accounts tab
Select your Apple ID
Hit the View Details button in the Apple ID detail panel
Hit the Refresh button in the lower left corner
In my case, i activated the same capabilities in Xcode that in Application services in developer.apple.com. Thats works for me
In my case (sorry) I switched "Team" to "None" in -> General -> Identity
In another case I needed to switch this identity from "None" to the developer account managing the identities and profiles.
Xcode sometimes messes up greatly with code signing, it seems. Or, we mere mortals simply aren't clever enough to understand what it is doing, of course. Don't give up, we're all going through some code signing torture at times!
In my case, I had to set correct Provision Profile for Release, and then had to restart Xcode. Before restarting, it had same provision profile, and didn't work. So, sometimes a restart can do miracles. Maybe this helps somebody.
If someone uses a GameCenter then check this section in your target. I worked with some old project and there were 2 errors (but everything worked fine). Disabling and enabling it back solved this problem.
Most likely this action adds Game Center entitlement to App ID and and handle it itself.
1.Go to project folder, delete *.entitlements files.
2.Then go yo in xcode project target -> build settings -> code signing entitlements - delete values
3.Clean
4.Run
Ah, this glorious error. For me whenever I see this error I check the following things:
1. Allow XCode to access your provisioning profile info all the time - If XCode keeps asking when you start it up to have access to your computer's private files so that it can get provisioning profile information with the options to allow access always, not now, or just one time - set it to ALWAYS ALLOW access
2. If you have any old entitlement files kicking around your project get rid of them and any sign of them - if you see a .entitlements file in your project delete it (or at least remove the reference to it if you aren't sure you are ready to outright delete it), then make sure the 'Code Signing Entitlements' line under the 'Code Signing' section in Build Settings is empty
3. Check your Application Services online and match them up with your Services in XCode for the app - Go to the Apple Member Center and check the App ID for your app, click on the app to see its 'Application Services' and see what you have checked, then go to XCode and check your 'Capabilities' section to make sure the two have the same list of Apple services on both
4. Make sure you assign a valid Provisioning Profile to your app before validating - double check your provisioning profile for your app in the Apple Member Center, make sure it isn't expired, has the right App ID with the correct bundle id and distribution. Download and click on the new provisioning profile to make sure XCode has it, or go to XCode > Preferences > Accounts > click on your account and 'View Details' then click the bottom corner button to Sync all the profiles to XCode. You should have the profile available to select now in the 'Code Signing' section. Once you have the correct provisioning profile then you can set the 'Code Signing Identity' lines to the correct option for that provisioning profile.
Note - if doing a distribution certificate it can help to set all the 'Code Signing Identity' lines to the identity you use for distribution including the debug lines
5. IF ALL ELSE FAILS - Clean your project and Restart XCode and some Apple magic may just work fine the next time you open your project and try to Validate
If you're building an old 3.1.5 project, Xcode 5 has some bugs which unfortunately makes Benjamin's answer impossible, as there are no Provisioning profiles to pick from. After many a late hour of tormented reading of Xcode project files I came up with this solution that worked for me:
In the Utilities pane (to the right) in Xcode 5, under project Document, change from Xcode 3.1-compatible to Xcode 3.2 compatible.
Enter your organization name.
Close project.
Open your project file, e.g. open -a TextEdit path/to/name.xcodeproj/project.pbxproj
Remove the two Distribution clauses (isa=XCBuildConfiguration).
Remove the two accompanying lines in buildConfiguration (one in PBXNativeTarget and one in PBXProject XCConfigurationLists)
Now you're ready to re-open, archive and submit to App store - voilà! It works again!
How I think it works
I assume this works because Apple somewhere along the line decided to drop the need for any separate distribution config, which is a good thing. When I archive, Xcode automatically code signs for distribution. That's the way it should have been implemented in the first place, it's just a shame that Apple can't make auto-migration part of the IDE; instead they force us developers to spend man-decades to make this stuff work.
I have been struggling with this problem for more than a day now, trying all kinds of solutions suggested here and elsewhere on the internet. Nothing worked...
But, I finally managed to solve the problem!
The problem I had was with an old app that I haven't touched in over 3 years, and now I was about to release a long awaited update. Since the time I released the app, Apple has been updating how the certificates and App Id works. They have introduced the concept of Team Id which seems to be recommended to use.
In particular, the Apple's "Certificates, Identifiers & Profiles" site, has seen a lot of changes since then.
There I realized that the Provisioning Profile I was using for App Store Distribution were connected to the App Id ED8xxxxxxx.com.rostsolutions.* but looking at the App Id for the game I was about to submit I notice that the App Id was ATMxxxxxxx.com.rostsolutions.Swisch. So the App Id prefix did not match!
That seemed to be the root of the problem. So what I did was to create a new Provisioning Profile connected to the App Id ATMxxxxxxx.com.rostsolutions.Swisch instead. Using that Provisioning Profile I successfully submitted my app to App Store and now I just keep my fingers crossed that everything else works fine at Apple's side.
(I first tried to connect to new Provisioning profile to the wildcard Id ATMxxxxxxx.com.rostsolutions.* instead, but that didn't seem to work).
But what puzzles me is that when I look at the old App in iTunes Connects and goes to Binary Details, it says that the App Id is ED8xxxxxxx.com.rostsolutions.Swisch. So why is the "Certificates, Identifiers & Profiles" page listing the App Id as ATMxxxxxxx.com.rostsolutions.Swisch?
My problem was solved by removing my Apple ID from Preferences->Accounts and then adding it back again. Then all my provisioning profile files showed up on the View Details utility panel. I was mistakenly choosing "Mac Team Provisioning Profile:*" instead of the actual distribution provisioning profile for the project thinking that it was a generic selection. Provisioning files must be specific to the project. Oh, and BTW, make sure your provisioning profile has the correct entitlements (for example, Maps). I managed to release an app with OSX Maps without the entitlement and Apple approved it -- but no Maps showed up on the production version!
In my case, I had the same problem, my solution was to change the 'Release Provisioning Profile' in the Build Settings before doing Archive. I do this twice, once for App Store distribution, and another one for Ad Hoc distribution. I also add a comment on my archives. My conclusion is that there is something broken about the "archive re-signature".
There is a very good tutorial for solving that problem on this website.
It says that this problem can occur when your Projects Bundle Identifier is different to the one you entered on the iTunes Connect Website.
I think xcode 5 uses "release" instead of "distribution" that you may created yourself.
If all above didn't work (in my case after couple of days no luck trying everything) I have only one Mac application. BE CAREFULL WITH REVOKE!
1) Revoke by hand all "Mac App Distribution" & "Mac Installer Distribution"
2) Clean relevant certificates and open-keys in Keychain (Warning: export before delete)
3) Restart Xcode
4) Go to (in Safari) developer.apple.com -> certificates etc.
5) Create CertificateSigningRequest.certSigningRequest in Keychain->Certificate assistant
6) Create by hand on developer.apple.com both "Mac App Distribution" & "Mac Installer Distribution" with your *.certSigningRequest
7) Provisioning Profiles -> Distribution -> create/fix custom provision for AppStore (I'm specially named it as "Mac provision profile for AppStore"
8) Xcode -> Settings -> Account -> Your account -> Refresh
9) Xcode Clean -> Archive -> Validate
I have been struggling with similar problem (I was building for Ad-Hoc distribution). Only thing that has changed since last successful deploy, was adding two devices to provisioning profile.
After double- and triple- checking all build settings, I regenerated provisioning profile (without changing anything), re-downloaded and it worked fine.
So note to self: if there is no logic explanation, you can always try good old IT voodoo.
I also recommend iPhone Configuration Utility, which despite its name, is useful for checking what provisioning profiles you have on computer.
ERROR ITMS-9000: “This bundle is invalid. New apps and app updates submitted to the App Store must be built with public (GM) versions of XCode 5.1.1 or higher and iOS 7 SDK. Do not submit apps built with beta software.
If multiple developers are using the same member center account. One of them can't use a certificate created by others cause they used a certificate request created using their computers.
You need to use a certificate created by you (certificate request
created using your computer).
Alternative, told them to send you the Developer Profile. not sure of the name. to use a certificate created on another computer.
Code signing Entitlements occur because of your resource does not contain Entitlements file in resources,Just go to build setting and search code signing Entitlements delete entry for debug and release, build project again you will see there is no error. Cheers
I had the same problem, but nothing written here worked for me. However, I found a simple way that worked for me. Here's how to do it:
1) In your Project and your Target(s) build settings, choose "None" for all Provisioning profiles, and choose "Don't Code Sign" for all Code Signing Identities.
2) Now, choose your Target and go to build settings. In Code Signing Identity Release setting, choose "iOS Distribution" for "Any iOS SDK". And then, in Provisioning Profile Release setting, choose your distribution profile for "Any iOS SDK". After that your Code Signing Identity Release setting should automatically change to "iPhone Distribution".
3) Archive your build and validate. Now it should work fine. That's it!

Apple Account Not have any Development Teams

I have logged in Xcode settings Accounts with my Apple ID and password, but still it's showing "Not on Any Development Teams". I am using Xcode 6.2.
This is an Xcode bug that has hit a lot of people. What seems to fix it is deleting the account from Xcode prefs using the "-" button, and then adding it back. I've done that on a couple of Macs, more than once, and it has always worked-- for a while. You may need to click "view details..." and then use the reload button afterward to ensure everything is up to date.
In case anyone from Apple happens to see this, please look up rdar://19870347
Download the provisioning profiles and certificates from the Member Center and save them to somewhere you can access them. Then, double-click the profiles and certificates. This should bring up Xcode as well as Keychain. You can dismiss the windows and that should work.
In Xcode, go to build settings and check that under Development and Distribution certificates the corresponding ones are correctly filled in.

Invalid Signature error !

I am trying to update my application , but after uploading the binary , Itunes connect sends me this email :
Dear Developer, Thank you for your
recent binary submission for "MY APP"
to the App Store. Unfortunately we
discovered an issue with your binary
that you will need to correct in order
for your application to proceed to the
review stage. The specific issue is
outlined below: Invalid Signature -
Make sure you have signed your
application with a distribution
certificate, not an ad hoc certificate
or a development certificate. Verify
that the code signing settings in
Xcode are correct at the target level
(which override any values at the
project level). Additionally, make
sure the bundle you are uploading was
built using a Release target in Xcode,
not a Simulator target. If you are
certain your code signing settings are
correct, choose "Clean All" in Xcode,
delete the "build" directory in the
Finder, and rebuild your release
target. Once you have corrected the
issue, please return to the
application's version details page in
the iTunes Connect Manage Your
Applications module and click on the
Ready to Submit Binary button. This
will take you through the binary
submission flow and return your
application version status to Waiting
for Upload. You can then use
Application Loader to upload your new
binary. If any other issues are found
with your submission you will be
contacted. Thanks, The iTunes
Connect Team
I am sure that my binary signed application with a distribution certificate NOT AD HOC !!!
what is your suggestion to solve this problem ! I NEVER HAD THIS PROBLEM !!!!!
I download the app distribution CER again but nothing change ! I have 6 apps on app store and never faced with this
Note that this QA is incredibly old. Apple have largely ameliorated this problem. Enjoy.
99 times out of 100, here is the problem:
Select "TARGETS", not "PROJECT"
Click on the name of your project at the Top Left of the main XCode6 window. (ie, just above where it probably says "Classes".)
Look at the large area which opens. Carefully look at the WHITE COLUMN ONTHE LEFT.
Choose "TARGETS" ... rather than "PROJECT"
Then, correctly set your certificate to the 3rd party Mac Developer cert.
I had the same message appear from Apple, and selecting "targets" not "projects" when setting code signing identity did NOT resolve my issue.
Turns out, as the last step of submitting the app to the store (via XCode4's Organizer panel - Archives tab), I was presented with a dialog sheet that showed the distribution certificate it was going to be submitted with, which was DEFAULTING TO A DIFFERENT DISTRIBUTION CERTIFICATE I had in my keychain - and NOT the valid certificate that I'd signed the app with!
Once I manually selected the correct distribution certificate in this last step of app submission, it went through fine. (I also opened up my Keychain Access app and deleted the offending distribution profile, that I didn't have any use for anymore).
A main point I'd like to offer is that Archive Validation (or submission thru App Loader) is supposed to identify the signature problem before sending the application to iTunes Connect. This is a first indication that the problem is related to a developer tools error.
Having witnessed this problem with multiple developers strengthens that hunch. In my experience the "Invalid Signature" diagnosis is not caught during client side validation as a result of a bug in older versions of Xcode. Devs simply update their OS X to 10.7.x, plus Xcode 4.2.1 and with no change to the project or code the app is ingested into iTunes Connect without issue.
Keep it in mind for others experiencing this problem...it's especially common on Snow Leopard with Xcode 4.0.2, 3.2.6 or less.
Apple's new publication touches on this point, see iTunes Connect Store - Binary Rejection emails - Invalid Signature.
I had exactly the same problem, checked everything but couldn't find any issues.
Problem ended up being because my project was stored on a FAT32 USB stick! Copied it to my Mac and everything worked perfectly after that.
Hope this helps!
I got the same problem and spent many evenings solving it!
For my app the problem was a question mark in the executable name. In the apple developer docs is noted you can't use special character in executable name but not which ones are allowed.
I changed the executable name in build settings and the upload works!
I have been battling this issue for almost a week! For me, it turned out that the Error email from Apple was completely wrong and misleading. (I knew that all of my certificates and code signing settings were in fact correct.) It turned out, that my app was getting rejected because there was an exclamation point (!) in the name. Apparently, only alphanumeric characters (A-Z, 0-9) and dashes are allowed for the product name. (Characters like ?#$% are not allowed.)
The Fix:
1.) Click on the blue project icon on the left panel in Xcode.
2.) Click on the build settings tab.
3.) Select the current target from the menu. (It's right next to the blue project icon.
4.) Scroll down until you see the "Packaging" Category.
5.) Find where it says "Product Name" and change it to a name that does not contain any special characters.
I hope this helps! Sorry I had to red-out my company info!

Command /usr/bin/codesign failed with exit code 1

I have the following error:
Command /usr/bin/codesign failed with exit code 1
Here is what I already did for trying to fix this:
set the bundle identifier to com.server.pgmname
set the code signing to "Any Iphone OS Device"
set the Code Signing Identity to my Distribution identity.
The error only occurs when I try to build on my device, on the simulator everything works fine.
Do you have any suggestions?
I had the exact same error, and tried everything under the sun, including what was suggested elsewhere on this page. What the problem was for me was that in Keychain Access, the actual Apple WWDR certificate was marked as "Always Trust". It needed to be "System Defaults". That goes for your Development and Distribution certificates, too. If any of them are incorrectly set to "Always Trust", that can apparently cause this problem.
So, in Keychain Access, click on the Apple Worldwide Developer Relations Certificate Authority certificate, select Get Info. Then, expand the Trust settings, and for the combo box for "When using this certificate:", choose "System Defaults".
Sigh: for those insistent on downvoting this answer, I am not claiming this to be the only solution for this problem. It's one solution. It may not work for you. There are multiple reasons for this codesign failure.
I had the exact same problem and this did the trick for me:
Xcode > Preferences > Accounts > View Details > And just refresh the Provisioning Profile
Seems like the accounts in Xcode were not updated with the latest provisioning profiles so a quick refresh sorted this out.
Feel the need to share this, even though it's ridiculous.
I'd set up a second developer account on my Mac and couldn't codesign anything. The error was "the user cancelled the operation".
A simple reboot fixed this for me.
I was fighting for about 2-3 hours to codesign a project with Parse API. It turned out that the embedded frameworks caused the problem. Make sure you set "Code sign on copy" (see picture).
If does not work delete the Parse and Bolts frameworks from the list and remove them from your project then add them again.
What worked for me was to realize that Xcode did not have access to the certificates. Please check that your certs are accessible by Xcode. Go to Keychain Access -> Certificates -> Open the Cert and double click on the private key -> Select Access Control
Just troubleshooted this same issue. I'd created a resources folder with my icons inside, then added it to my project via right-click > Add Files > [select resources folder]. Apparently this is a bad idea.
Instead create a new group in your project (called "Resources" in my case), and then right click > add files to that and then choose the individual files. Project built immediately.
For me, I just updated to Xcode 8, and converted my Swift 2.2 code to Swift 3 code, and I got errors in the Unit Testing and UI Testing. I just cleaned and then all the errors disappeared.
For anyone with this problem in the future (who doesn't want to rebuild their project), an additional question to ask is whether you have a space in your product name. I'd recommend going through your properties (right-click -> get info) of your project and your target. For my project, the only place that a space was needed was in the plist for the bundle display name.
After hours of googling and trying out different things, this is what fixed it for me:
Make sure there are no certificates in the System > Certificates tab on Keychain Access. Remove all duplicate certificates from there.
Install the WWDR intermediate certificate under certificates from the provisioning portal, in addition to the developers certificates and make sure you see it in the Login > Certificates tab on Keychain Access.
Very often the error /usr/bin/codesign failed with exit code 1 occurred in case the user has no file extensions for texture files in Models.scnassets folder. macOS very often generates a files with hidden extensions.
For example: you have a file myTexture but it must include an extension as well – myTexture.png.
I had this same problem and couldn't figure it out for a long time. I tried everything on this page and others and it still didn't work. But eventually, I did find a fix.
For this to work, make sure Xcode is not running. After you've closed Xcode, open Terminal and type in the command:
xattr -rc /[The File Directory of your project found in the File Inspector of your .xcodeproj file in Xcode]/
Obviously don't put the text in brackets, just replace it with what it says. Hit enter. Don't worry if nothing shows up below the command, it didn't for me. After that, you can close out of Terminal and open Xcode. Now everything should be fine.
Note: It might take a little longer to run your project, but just wait it out.
Also note: Don't downvote this answer because it doesn't work. This is one way to fix it that worked for me, but it might not work for you because you might have something else that is broken.
I got this error the very first time I tried to make a provisioning profile by following the Provisioning Assistant and it turns out they fail to mention the WWDR Intermediate Certificate. I installed it and it worked fine for me.
Here is my way to resolve:
Open keychain access, select your iOS certificate, Delete private key
Then go back to xCode, you will see warning warning message and "Revoke" button, click it and error resolved.
Most answers will tell you that you have a duplicate certificate. This is true for my case but the answers left out how to do it.
For me, my account expired and I have to get a new certificate and install it. Next, I looked at Keychain and removes the expired certificate but still got the error. What works for me is actually searching for "iPhone" in Keychain and removing all expired certificates. Apparently, some of it are not shown in System/Certificates or login/Certificates.
Hope this helps!
In my case, I had an extra expired distribution certificate in my keychain - I deleted the certificate from KeyChain Access and the compilation started working again.
If you're using phonegap/cordova:
I got this when building from Cordova but the solution for me was much simpler. A permissions issue.
Just set the files to correct permissions
chmod -R 774 ./projectfolder
And then set ownership
chown -R youraccname:staff ./projectfolder
Some of the answers above allude to the problem but don't clearly spell out the steps to correct it.
Here is my attempt at after it has become super frustrating which seems to have worked for me so far :
The problem is caused because there is duplicate certificates in your Apple Developer portal or potentially in your machine. I haven't had any negative consequences from doing this and its worked so far.
Close Xcode!
You have to remove the existing certs from your developer account
visit : https://developer.apple.com/account/ios/certificate/development/
and select development account ( there should be multiple certs)
I revoked each one by clicking on them and selecting revoke.
2.remove certs from your keychain on your Mac
Open Keychain app by pressing clover+space and typing in keychaing
and pressing enter
Search in the top right hand corner for "developer"
Select the potential duplicate keys and export/delete them so they aren't in the list.
Lastly regenerate your certs in XCode and rebooot
Reopen xcode
regenerate a new cert by going to project ->
General --> Signing
reselect your "Team Account"
a new cert should be generated
Reboot for good measure - and enjoy being free from this bug ( which Apple should really sort out, if it was at all possible to replicate easily)
I recently had the same issue.
Keychain Access was the culprit.
Steps:
Go -> Utilities -> Keychain Access
Keychain Access:
Edit -> Change Password for Keychain "login"
Change the password.
Close and reopen Xcode, Clean & build again.
If option - Change Password for Keychain "login" - is greyed out:
Make sure under Keychains selected -> login and the padlock icon is open.
To open the padlock you need the keychain password. If you do not know the password, go to Step 2.
With padlock unlocked and still option is greyed out.
As last resort:
Keychain Access -> Preferences
Preferences:
"Reset My Default Keychains"
Reset the login. However be careful as stored keychains will be removed and you may have re-login on other connected devices as well.
Try finding out the details of this error in the "Build Results" view where the error is shown. On the right side of the line with the error message there is an icon with several lines. This will show you some helpful details.
This way I found out for me it was a duplicate iPhone developer certificate in my keychain - one of which had been expired. Maybe search for "iphone" in your keychain (select "All Items" category first).
One solution more works with me, If you installed two versions of XCode and you install the second without uninstalling the first in the same directory (/Developer/), you did it wrong.
So the solution that works for me was:
1 - Uninstall the current Xcode version with the command sudo /Developer/Library/uninstall-devtools --mode=all.
2 - Install the first Xcode version you had first.
3 - Again sudo /Developer/Library/uninstall-devtools --mode=all.
4 - Then, all is clean and you are able to install the version you want.
More things: maybe you need to restart the computer after install the Xcode or even (in some cases) install two times the Xcode.
I hope I works it take me a lot of time to know that, good luck!!!
The solution that worked for me is related to (what I think is) a change of path behavior after upgrading to Xcode 4.2:
You can no longer manually enter "armv6 armv7" but must enter $(VALID_ARCHS) instead: both for the Architectures and Valid Architectures fields under the Architectures section in your project's Build Settings pane. Xcode will automatically replace the statement with 'armv6 armv7'.
This string looks exactly the same as if you would have typed it in manually but nevertheless point to the actual correct paths that will be generated along with your build, ...or at least this is my take on it :P
Unrelated, we used to have "armv6 armv7" as well under Other Signing Flags and now took that out and it works fine. This must be just an extra.
Thanks and happy hacking.
Gon
I went to Key Access, selected the private key, and added XCode to the list of apps that can access it. That worked for me
If anyone uses Xcode ver. 3.x.x and upgrades from Mac OS 10.7 to 10.8, dev. tools will work just fine except the new codesign binary .. To fix that just copy the old codesign and codesign_allocate binaries (I hope you have backup) to /usr/bin/ folder and rename or backup the new one.
I had special characters in the project name,renaming it to remove the characters, question marks, and insuring a developer certificate was enabled fixed the issue.
When I experienced this error, it was due to having been in Keychain Access, and choosing 'Disallow' when asked whether I wanted to let the program access a saved password. Going back in and selecting 'Allow' and typing my system password fixed the problem in XCode.
For me the problem was HTTP proxy
Here is how I solved the same problem. It may help someone.
I deleted the Development Provisionning Profile (that I was using) from the server, then created one with a slightly different name.
I used it and it worked.
This issue happened for me when I had multiple targets in one project, and I changed the CFBundleExecutable plist property to something other than the target's name.
So, for example, I had the following targets in one project:
SomeApp
SomeApp WatchKit Extension
SomeApp WatchKit App
SomeApp Today Widget
SomeApp for OS X (this is the target where the codesign error happens)
SomeApp for OS X had its CFBundleExecutable property set to just SomeApp, which not only conflicted with the first target called SomeApp but was different from the target it was meant for. Changing SomeApp for OS X to SomeApp and then renaming the first target worked fine for me.
For me I had code coverage enabled on the scheme of a framework rather than it's corresponding test scheme. Disabling the code coverage sorted the problem.
A very simple answer to this very-complicated question. It involves no knowledge of code-signing and everything connected with it.
Take an old app that is not needed any more. Make sure it works, then replace its code with that of the new app having the code-signing error. The old app should now work fine, accomplishing what you wanted with the new app.
Only down side: the working app has the title of the old one.

Resources