iOS Provisioning Profile Validation Errors - ios

I am trying to create a development provisioning profile for my application.
I have a valid certificate in the app center and in my MacBook it also shows that certificate as valid.
I have also added my device in the app center.
I have created a development profile related to the certificate that I created before and it shows up as valid in the app center. When I refresh the provisioning profiles page in the organizer however, the provisinging profile shows the status "Valid Signing Identity not Found". I have deleted and created the profile multiple times but the same problem is repeating.
What am I doing wrong?

Make sure that you have the private key that is paired with the certificate you have.
Open Keychain Access and see if you can expand the certificate.
If you can't, it means you don't have the private key. If you don't know where the private key is, you'll have to revoke the current certificate and re-generate one, which will give you the private key.

Related

Problems with iOS Free Provisioning Profile

I've been using Xcode with a free Apple ID, and signing a App with a free provisioning profile.
However, after I signed the App with another Mac, the certificate on the first Mac I used to sign the App with does not work anymore.
I received this error message when I tried to run it on my iPhone:
Please verify that your device's clock is properly set, and that your signing certificate is not expired. (0xE8008018).
After generating a new certificate via Xcode > Preferences > View Details... > iOS Distribution > Create, I got this error instead:
The identity used to sign the executable is no longer valid.
After deleting the App from my iPhone, I tried to run the App again and received this error message instead. This also caused my phone to freeze for a while:
dyld: Library not loaded: #rpath/libswiftCore.dylib
Referenced from: /var/mobile/Containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Test.app/Test
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Test.app/Frameworks/libswiftCore.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Test.app/Frameworks/libswiftCore.dylib'
(lldb)
Update: I'm using Free Provisioning Profile, thus I don't have access to iTunes Connect. I also can't import the certificate from my 2nd Mac as it was it was reset.
Update 2: I've also visited Keychain App and found 2 certificates - one expired and one valid. I deleted the expired one and tried to run the App on my phone again, but the error persists.
Update 3: I've tried to revoke all my certificates in developer.apple.com, but there isn't a certificates management. Only 'Programs & Add-ons' and 'Your Account' sections are available in the nav, which allows me to enrol into Apple Developer Program.
Update 4: I've also restarted my Xcode to no avail.
The main problem is that I'm not sure why I cannot revoke and regenerate a new certificate.
How can I solve this problem?
Generate a New CSR from your Keychain and download new certificate using this CSR. Include this certificate in your provisional profile and download it. Make sure you remove all expired certificates from Keychain. Good luck.
You don't need iTunes Connect to manage your certificates, IDs and provisioning profiles. iTunes Connect is used for managing your app store releases, which as you know you can't do with a free account.
You need to go to developer.apple.com and log in with your free account to the member center. You will be able to see the certificates and provisioning profiles under your developer account.
Since you don't have anything in the store (you can't with a free account), I would go into the developer's member center, revoke and delete any certificates that are out there, and delete all provisioning profiles. Start from scratch and generate a new certificate using a brand new CSR. Then generate a new provisioning profile using the existing app ID and the newly created certificate. Download the profile update your project settings to use the new signing identity and profile, and you're back in business.
Also, this is assuming that you are not sharing this developer account. If you are, doing the above instructions will make it so other developers will not be able to build with the signing identity unless you give them the private key for the certificate.
I managed to fix this problem by renaming the App name, and recompiling the App. I think that by renaming the App, a new certificate is generated, thus it would work.
Even though, it's not really a great solution, but it solved my problem as I wanted to rename the App in the first place.
Thanks everyone for providing answers!
I had to create a new Apple ID and it worked. Not the ideal solution but without access to certificates its the only solution that worked for me.

XCode unable to recognise the distribution profile present in my keychain

In a nutshell:
I got a distribution profile in my keychain (image 1)
From XCode developer account preferences I see only the developer profile (image 2)
When I try to add a new iOS distribution profile it says that I already one and that I should visit the member centre (image 3)
I did so and this brings me back to step 1
Infinite loop (aka "I'm stuck here as I keep retrying..")
EDIT: When I try to use the iOS mobile distribution profile that I generated I don't see many options for the code signing identies. This is how it looks like:
I have downloaded the team distribution profile on my computer from the apple developer member centre. This is the way it looks in my keychain:
However when I try to sign my code for ad hoc distribution I cannot find the distribution certificate in the code signing identities tab.
I manage to build the product archive (for local ad hoc distribution, e.g. TestFlight) but when I try to export it (or submit it to AppStore) I get a message saying that I already have a code signing identity and that I need to download it. More details on this in this question that I asked yesterday.
Today I am trying a different approach and I decided to go to the Account->Preferences and try to click on the "+" button to add a new iOS Distribution profile. This is what I get as response:
Unfortunately it seems that XCode is unable to recognise the iOS Distribution profile that I have installed in my keychain (see beginning of this question) whilst unable to recreate one.
How can I fix this without messing up the certificates/apps of my team members?
Install both valid certificates in your system (Distribution and Developer)
By looking at your Keychain screenshot, I can see that the Certificate lacks the little disclosure triangle next to it. What this indicates is that although you have the distribution certificate, you lack the private signing key. Without it you will not be able to sign the app and it is why you're stuck in this loop.
If you were the person that created the CSR (Certificate Signing Request) when setting up the Distribution Certificate, you should have the private key already in your Keychain - in which instance it may be the case that you are using a couple of different Keychains (e.g. I have the login keychain as well as my Development keychain), the private key is actually in a different keychain to where your distribution certificate is.
In this instance you will simply need to move either your Key or Certificate into the correct keychain for it all to marry up.
Alternatively, if you were not the person that created the Distribution Certificate in the first place, you will need to have the original user export the Key for you using Keychain or by having them export the Developer profile using Xcode.
Pls check if your keychain is missing the private key associated with distribution certificate.
Here is a similar thread that you may wish to take a look at : link
good luck!

Xcode 6 App Store submission fails with "Your account already has a valid iOS distribution certificate"

I'm using the latest XCode (6.1) and I need to submit the app as soon as possible, but I can't seem to get around the "Your account already has a valid iOS distribution certificate" error.
I have the client's provisioning profile and I have his distribution certificate (which is valid) and his private key (I've checked using Keychain, it's definitely there). The bundle ID is also correct. I've deleted my provisioning profiles and certificates and reinstalled the client's many times now.
What could be causing this issue? I've seen a lot of topics here on SO with this problem, so I apologise beforehand for creating yet another clone, but I really don't know how to fix this.
edit: I'm running a brand new install of Yosemite by the way
Got it solved by editing the iOS Distribution Provision Profile in the Developer Member Center.
For some reason there were 2 certificates to choose from for the Distribution Provisioning Profile. I switched over to the other certificate and I could Validate and Submit my Archive build for beta testing.
So, you may have more than one certificate for signing your Provision profiles. Make sure you have the right one (by trying all of them) and hopefully that should work.
I tried many things like Exporting Developer profile from Xcode Accounts and importing it in the organizer, installing the provision profiles from the member center, adding them to my keychain. But none of those worked. It started working only after editing the appropriate Provisioning Profile manually.
You could also trying removing all your available Provisioning Profiles and let Xcode create new ones for you. This will work too.
I also had this issue, which turned out to be caused by an attempt to export for ad hoc deployment using a development provisioning profile instead of a distribution profile. It seems this is no longer supported in Xcode 6.1. Once I created an ad hoc profile and installed that the problem went away. A more useful error message would have saved me hours of work and would be greatly appreciated, Apple.
This thread was helpful:
xcode 6 beta 2 issue with exporting ipa "Your account already has a valid iOS distribution certificate"
Besides all the other answers, there's one more possibility after 2/15/2016: the old World Wide certificate expired and I guess everyone has already downloaded the new cert (or check this out). However, you'll be seeing this error if you haven't remove the expired one. You may need to choose View -> Show Expired Certificates to unhide expired certs. If the error is still there, try regenerate provisioning profile as advised by the others.
I was moving to new Mac when I faced this issue.
On your older Mac:
Go Preferences > Accounts > Select Account > Details.
In the dropdown right click on iOS Distribution (or whatever is the name of your distribution certificate).
Export...
Set a password for the .p12 file.
Move and install this .p12 in the new mac.
Try Again.
Another possible cause for the problem (at least in my case) was that in my Keychain Access, I had two certificates for the team I was working with. One was expired, and the other one was the one I wanted to use. Deleting the expired certificate in Keychain Access solved the issue.
I ran into this problem, and I wanted to avoid screwing up my push notifications.
The easy fix for me was to just go to developer.apple.com > project > certifications, ids, and profiles > profiles > create a new profile (for development or distribution)
Download the created profile, drag and drop the profile over the Xcode icon, and then in your project target, set the new profile as the provisioning profile.
This fixed my problem--it may provide further help in the future.
The error message could mean that you need to get the Distribution certificate and private key from the developer who created them.
This can happen if some other team member has pressed the enticing "Reset" button (which means revoke certificate and create a new one).
Here is a picture what the revoked certificate looks like:
You can export the valid certificate from the developer who created
it and import it to other team members keychains.
Go to "Keychain Access" app.
Click on the "Login" in the top left box
Click on the "Certificates" on the bottom left box
Check which team member has the valid certificate:
when clicking on the "iPhone Distribution" certificate
everyone else sees "This certificate is revoked" in red at the top.
(Maybe backup the deleted certificate to avoid doing anything irreversible)
delete the revoked certificates
Export the one valid certificate and distribute to team
Import the certificate file for everyone else
Today I was solve problem by delete from keychain old certificate Apple Worldwide Developer Relations Certification Authority and install new one (exp. in 2023)
I'll add to here because while the accepted answer got me on the right track it wasn't the solution. There was a second (automatically created by Xcode) distro cert which I revoked. After doing that a new error came up. ("An App ID with Identifier '' is not available"... it also wasn't helpful) Eventually this lead me to the fact that my App Id in the member portal didn't have entitlements matching the build.
I solved this issue by editing the provisioning profile in the member center which is used in my app and re-install the provisioning profile.
I recently changed computer.
The reason for me was that I had several developer certificates in the Apple Developer member portal.
The solution was :
Go to Apple Developer Portal
Go Under Certificates -> Production
Click on "Revoke" for the oldest certificates and keep the most recent one
Revoking certificates won´t affect your Apple Store apps :).
I had this happen to me when I accidentally reset the certificate on another mac. Here's my scenario.
Mac1 - Had working certificate.
Mac2 - I accidentally reset the iOS distribution certificate
Mac1 stopped working and I get the message "Your account already has a valid distribution certificate"
The fix was
On Mac2, Keychain access -> certificates -> iOS Distribution certificate (for you/your company) -> export to p12 file (it will ask you to set a password)
Copy the exported file to Mac1
On Mac1, Keychain access -> certificates -> iOS Distribution certificate (for you/your company) -> delete (this is the old one that does not work)
On Mac1, double click the p12 file (then enter your password).
You should see a new iOS distribution certificate (for you/your company) in the certificate section of Keychain access.
This fixed the issue for me on Mac1.
Got it solved by deleting the provisioning profile which is managed by Xcode
(XC iOS Ad Hoc: *) from the member center

Can't add device to Provisioning Profile

I'm not being able to add Provising Profiles to my app.
Images
So, from Edit or Add Provisioning Profile inside developer.apple.com I can't add device to the profile. I have no idea what the problem can be.
The problem is that you haven't the private key in your keychan.
Before create a provisioning profile, you need to submit a certificate created from your keychan to Apple, and then download another certificate generate from Apple.
At this point you will have a private key in your keychan.
Probabilly you created that provisioning profile from another computer, and so in this mac you don't have the private key.
Due the fact that i see you not expert on this, i suggest you to start again the process to create a new certificate and update the provisioning profile.
If you are not expert in this, there are a lot of guide and video directly from apple in the Apple Dev Center.

Valid signing identity not found, I have tried other solutions, but doesn't seem to work

I have looked at lodes of other posts about this and tried all of them, but I still keep getting this error...
I have opened key chain and there is a developer ID which is "valid" and a private key.
I have re-created several provisioning profile for the apps (selecting the app and device).
I am on a team based account, so I cant delete all the other provisioning profiles as other people may be using them, which is what a few solutions have said, but I have tried deleting all the provisioning profiles for the app and re-making them, but it still doesn't seem to work.
I am using xcode 4.6.3 and trying to install the app on iPad 6.1
Here are screenshots:
May be your certificate is revoked and signed with a different key which you don't have, ask for the private key of newly signed certificate may be some has it.
Hope it works.
Edit
Your Developer profile needs to be recreated, and you can revoke your own developer certificate, it will not harm anyone else if you are in a team.
Edit 2
To create a new developer certificate do the following
Delete the old developer certificate.
Login to your developer portal developer.apple.com/iphone
Select Certificates, Identifiers and Profiles from iOS Developer
Program menu on right.
Choose Certificates, then choose Development.
You will see your Developer certificate there, select that, then you
will see Revoke option, press that and Revoke.
After revoking there you will see steps to create the Certificate
follow that.
After creation you will need to update the Profile too with the new
certificate.

Resources