Xcode: Can't create Developer ID Application button greyed out - xcode

So I'm trying to sign an Electron app and I need the Developer ID Application.
The problem is that in Xcode the button is greyed out:
Why is it greyed out?
Can I get the Developer ID Application by other means?

The problem was that I'm part of a team and only the AGENT account can create the Developer ID Application.
So I logged in with the Apple ID of the agent in Xcode and now the button was clickable.
The only resource I've found online that explains this comes from Mozilla:
https://developer.mozilla.org/en-US/docs/Mozilla/Signing_Mozilla_apps_for_Mac_OS_X
If the "Developer ID" radio button is greyed out you probably have a group account. These types of accounts only allow for the "Agent" role to create Developer IDs.
Neither Apple's docs nor Xcode inform the user about this. Again Apple making things as difficult as possible for the developers.

Related

Xcode does not show all my teams

Here is what I see at Xcode -> Preferences -> Accounts:
Here is what I see at developer.apple.com -> Certificates, Identifiers & ProfilesWill:
However, according to iTunesConnect I am on another team:
How I got into this situation:
I have previously used my account to upload and release software to iTunesConnect
The admin for Kim Rubin has not made any changes to my access level in the meantime
I have purchased a new MacBook (now regretting) and allowed Xcode to create a new certificate (always clicking whatever the default Xcode response was)
Please explain why Xcode does not recognize my other team membership.
Downstream this is also causing other problems. (Specifically, I cannot upload to iTC because Xcode is trying to sign with the wrong team.) But right now I am only asking about the root cause above.
I tried to get more information in my comments, but without more information, I can explain what I think is happening. You state that your access hasn't changed, but you previously used the account to upload and submit the app through iTunes Connect. You never mention that you used your account to actually build and sign the application that you submitted. I'm guessing you either did not, or if you did it was using manual signing and the old Mac had the iOS distribution code signing identity on it.
It appears you have been granted an iTunes Connect role, but not Apple Developer role. In order to have the team show up in Xcode and allow for things like creation of a certificate / profile, you need to be at least an Admin role on the developer account. When you clicked "Fixed issue" in Xcode, because you only had your personal dev account available, Xcode tried to create a cert and profile on your new account. That will result in a build that was improperly signed, as you need it to be signed with the correct account's certificate and profile.
You can either have the owner of the account add you as a development team admin, or you can have someone on the team send you the iOS distribution certificate and provisioning profile.
In case of my team member who's role was "Customer Support", changing the role to "Developer" was not enough. The solution was to delete his account and recreate it with "Developer" role in Itunes Connect, and only after accepting new invitation the team was showing up in Xcode.

How can I delete a bundle identifier managed by Xcode 8.1?

I would like to move my Xcode project to a different Team/Developer Account and use the same App/Bundle ID. I have tried to create the App ID in Apple Developer Centre on the new Account however I get an error that the App ID is not available, which is to be expected.
My Xcode project has Automatically manage signing ticked. I cannot see the Bundle Idenitifier of the project within the list of App IDs within the Developer Centre of the Account that the project is currently associated with. Where are Xcode managed App IDs stored and how do I delete one?
I have definitely managed to do this before Automatically managed signing was introduced, simply by deleting the App ID from the original iOS Developer Account and manually reregistering it on the new account.
Edit: Just to be clear- the App has not been submitted to the App Store, it is still in the Development stage.
The only way I manage to do that is to contact the customer support (Apple Developer Program Support), after few days and few back and forth they finally deleted the bundle id from my Personal Team and I was able to add it to my Developer Program (Agent) profile. I know this is not ideal but at least if you really want to use the same Bundle ID it worked for me.
Remember
I accidentally registered my app ID into my non-paid apple account. That's why I had to contact customer support otherwise you can just delete it from developer portal
I am able to see all Xcode managed app ids in my developer account and am able to delete them from my account.
Go to https://developer.apple.com
Click on Account at the top
Sign In to your developer account
Click on "Certificates, Identifiers, & Profiles"
Navigate to App IDs (under the Identifiers section on the left of the screen)
Find and click on the app id you want to delete. The app id will expand to show more information. (if the bundle id is com.myapps.mytestapp then the name in the developer portal will be "XC com myapps mytestapp")
Tap on "Edit" at the bottom of the app id's section. You'll be navigated to a new page.
Tap "Delete" at the bottom of the page.
You'll be prompted to make sure you want to delete the app id. Hit "Delete" again and you're done.

Can't create Developer ID Application code signing identity in Xcode

I can't create a signing identity from Xcode for Developer ID Application.
Xcodeshows the Reset button and clicking that Reset button simply opens developer.apple.com
I have tried creating a new Developer ID Application certificate from the developer.apple.com website and installed it in Keychain Access but Xcode still shows the Reset button. I've tried removing all the previous Developer ID certificates and public and private keys from Keychain Access but the button still says Reset instead of Create.
I've tried installing Xcode on another Mac and when clicking the Create button for Developer ID Application I get a popup saying:
Your account already has a valid Developer ID Application certificate
but it is not installed locally
and then Xcode crashes.
Therefore I ended up with multiple Developer ID Application certificates created in my account but I can't use any of them.
Is there any way to remove those Developer ID application certificates from my developer account and start fresh?
Hopefully this will make Xcode show the "Create" button instead of "Reset" on my Mac.
This is Xcode 7.1.1 on OSX 10.11.1
Any help is highly appreciated.
I had the same problem. And never resolved the fact that the date on the new certificate ending in 2019 and the one that kept showing up, and I kept deleting had 2017. Finally, With Developer ID chosen I switched from my team name to "none." a dialogue came up asking me to ID myself. So I chose my team name in the dialogue. Then everything worked!
If you want to delete them you can do that by clicking on whichever certificate you want to delete and then clicking revoke. At that point if you still have any certificates in your keychain access, delete those as well. From there create a new certificate try downloading it and opening it to add it to your keychain and then seeing if it works in Xcode.
The Private Key for a Developer ID Certificate Is Missing
Optionally, contact Apple at product-security#apple.com if you need to revoke Developer ID certificates. Alternatively, you can continue to develop and distribute apps by creating additional Developer ID certificates, as described in Creating Additional Developer ID Certificates.
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Troubleshooting/Troubleshooting.html

Your account already has a valid Developer ID Application certificate

The last couple of days I've struggled with code signing my cocoa app in Xcode. I've read through all similar topic that looked to be related, but nothing has helped.
Whenever I try to export my archive I get this error message:
I've tried to delete everything in my keychain and all profiles/certificates that I'm allowed to delete/revoke in the member center. However, I still get the same error with no "Fix" or "Reset" button. How should I proceed in order to get my application signed for distribution outside of store?
Go to Preferences -> Accounts, choose your account, click "View Details" in the bottom right corner and in the dialog click Download all in the bottom left corner.
Also, take a look at fastlane.tools. It is a great set of tools, which is, among other things, capable of dealing with code signing issues. Calling cert and sigh is sometimes enough to deal with many code signing-related problems.
I had installed my Developer ID Application Certificate on a different Mac and was getting the same error as in the question when I tried to use that certificate on a "new" Mac.
This fixed it for me:
I still have the other Mac so I exported the Developer Accounts from that one again:
Go to XCode | Preferences | Accounts
Click the "cog" in the bottom-left-hand-corner next the the plus and minus signs
Click "Export Developer Accounts"
Save the exported file somewhere accessible to your other Mac
Then, on my "new" Mac:
Go to XCode | Preferences | Accounts
Select the Apple ID that represents my dev certs
Click the minus sign in the bottom left hand corner to delete that account
Quit XCode
Open Key Chain Access
Delete all Developer Certificates
Close Keychain Access
Go to XCode | Preferences | Accounts
Click the "cog" in the bottom-left-hand-corner next the the plus and minus signs
Click "Import Developer Accounts"
Select the file exported on the "old" Mac above and import
I'm hitting this same issue.
The error appears to be telling you that valid Developer ID Certs have been created under your developer account, but they are not currently on your Mac, so they cannot be used.
The solution would be to download the Developer ID Cert(s) from the web. However, you likely do not have the Private Key used to sign these certs. So at this point they are rather useless.
In my case, the further problem is that I already have 5 Developer ID Certificates in my account. I'm not quite sure where these came from. They were created years ago, perhaps when I was attempting to create Mac App Store certs? Or perhaps by clicking that damn Fix Issue button...
There appears to be a limit of 5 Developer ID Certificates per developer account, by default.
Developer ID Certificates are created, now, through Xcode rather than via the Members Center:
However, in Xcode, there is no longer a button to "Create" a new cert. The only button is "Reset". This button simply links me back to the Members Center in my web browser, so is completely useless...
Via the Members Center, Developer ID Certificates cannot be revoked, as you would an iOS or Mac App Store certificate. The "Revoke" button is Grayed out.
You can’t revoke Developer ID or Pass Type ID certificates using Member Center. Instead, send a request to Apple at product-security#apple.com to revoke these types of certificates.
Apple will only revoke these certificates in cases of security, to disable installation of the app on all client machines. I've tried emailing the above address, and they told me they could not revoke the cert.
The solution, then, is to have additional Developer ID Certificate slots added to your account, past the limit of 5.
Product Security told me, rather than revoking the certs,
We encourage you to contact Apple Developer Connection at https://developer.apple.com/support/ to resolve the issue you’re experiencing.
I've now contacted developer support. I recommend calling. They are currently, hopefully, setting up new Developer ID slots on my dev account.
When you create a new Developer ID Certificate that you will actually use, be sure to back up the Certificate and Private Key so that you do not hit this issue in the future.
EDIT:
I waited for over a month, I believe, with no response. I happened to have a ticket to an Apple TV Tech Talk and talked to an Apple representative at their lab. He was able to reset my Developer ID Certificate limit in about 5 minutes. So this is possible, but to expedite the process I would attempt to talk with a Developer Evangelist at Apple either in person or over the phone.
One issue could be the private key is missing for your developer cert. With Keychain Access find your developer cert and verify it has a little triangle beside it. Click on the triangle to reveal the private key.
If it's not there you'll need to restore this private key from the Mac you created your certificate.
Otherwise, delete the cert from the Apple Developer website and then create a new one.
Same issue here but i was using "automatically manage settings" on Xcode 8. And for a particular reason there were two distribution certificates in my developer account.
Xcode seems to choose the most recent automatically and I didn't have it installed on my mac. So I switch to the old way by creating manually my app ID and my provisioning profile (which use the appropriate certificate) and it works :)
I had similar issue. I've discovered that my provisioning profile was invalid since I've updated iOS Developer certificate. After PP regeneration everything works as expected.
I ran into this same issue, and I fixed it at last. There are some tips:
in Xcode -> Preferences -> Accounts, click button View Details, then
click button Download All Profiles
in Keychain Access, check if the certificate exists. if not, choose
File->Import items, then choose the .cer file you download
from developer website
Hope it helps.
On Xcode Version 8.3.3 go to Preferences ->Accounts -> Manage Certificates -> then click (+) ->on dropdown menu click iOS Development. Do the same for iOS App Store -> Done -> Download All Profiles.
If you have changed the machine Exporting the developer account from old mac and then importing into new mac solves the problem

How do I change teams in Xcode 4.4

In 4.3 and under the first time you tried to do a team based action, such as refresh provisioning profiles, it would ask you to log in. It no longer does this in 4.4, it just assumes a team and refreshes... how do I teach Xcode there are multiple teams? It lists them under the teams in side bar of the organizer, but won't let me refresh their profiles, or select them when creating new profiles.
To clarify, each team is under a different developer ID, and I can't find any way to log in to different developer IDs to refresh the provisioning profiles. I can still log in to different ID's when submitting apps to the app store, however this doesn't seem to affect the provisioning profile refresh login ID.
Seems to be fixed in Xcode 4.4.1 (released yesterday, 7th August 2012).
And as Ivan stated correctly: It seems that all profiles from all teams are synced as long as you have the same apple id across all teams.
(Tested this by removing all profiles from Xcode in the Organizer and hit "Refresh")
Update:
If you have different apple ids across multiple teams and the login dialog is still missing, you might have saved your credentials in your keychain. See comments #2 and #3 of this answer for a workaround.
There is a strange way to add a new identity (user/pass). If you build and archive and then go to Distribute -> Save for Enterprise, then open the Code Signing Identity list there will be an item marked "Refresh code signing identity" at the end. If you select it you'll be prompted to enter username and password. Hope this helps.
For reference, since I found this page searching for XCode 5.1 - getting XCode to sync new teams on the same Apple ID, click 'View Details' on any teams that are there to see the provisioning profiles for that specific team, then hit the refresh icon. It will also download any new teams added to the ID.

Resources