I have receive an Expired status on the Ad Hoc provisioning certificate which i have created few weeks back. Why am i getting this issue unable to know that
Apple requires it’s developers to rebuild and redeploy their apps with a new Provisioning Profile each year. Here are the steps that you would need to follow when your profile is close to it’s expiration date so you keep your app running without interruptions:
1) Go to developer.apple.com and navigate to the Member Center -> Certificates, Identifiers & Profiles
2) Go to Certificates -> Production
3) Here you will see all your production certificates. I’m assuming most of them have or soon will be expired. So go ahead and request a new certificate by clicking on the Add (+) button.
4)On that Add iOS Certificate screen, select In-House and Ad Hoc option and hit Continue.
5)Now before we can continue, let’s open Keychain Access on you computer and generate a Certificate Signing Request by going to Keychain Access -> Certificate Assistant -> Request a Certificate from a Certificate Authority
6)In the window that pops up, enter your email address and common name.
Save the .certSigningRequest file to your disk.
7)Now go back to your browser window and upload the .certSigningRequest file which 8)you just created and click on Generate.
9)Download and open the .cer file which you just generated in Keychain Access. You should now be able to see the newly generated certificate with a new expiration date.
10)Now go back to the browser and navigate to Provisioning Profiles -> Distribution
11)Click on the provisioning profile in question and click on the Edit button.
In the certificates field, select the new certificate which you just created and click Generate.
12)Download and open the new provisioning profile (.mobileprovision) in the Organizer. You should now see the new expiring date (a year from now) on that as well.
13)Delete the old profiles to avoid confusion and rebuild your app with the new one
14)Once you’ve rebuilt the app, just install it again on all devices in question.
Related
Currently my Distribution Managed expires . Now the question that I have is do I need to revoked it and then create a new one? Im a bit confused because I cannot find that specific Certificate under the create a new certificates. So what do I need to do with it?. I already created a new Distribution certificate. But what know about the Distribution Managed one?. Also is there a way to automatically update or create a new certificate before its expires?
MY App is written in Flutter .
A little bit of information about certificates can be found here. The most important bit:
Development certificates belong to individuals. In your developer
account, the computer name is appended to the development certificate
name (for example, Gita Kumar (Work Mac) where Work Mac is the
computer name) so you can identify them.
...
Distribution certificates
belong to the team but only the Account Holder or Admin role can
create distribution certificates (if you’re enrolled as an individual,
you are the Account Holder).
Certificates can't be renewed (at least manually, afaik), you have to create a new one that is then used for new app updates from now on. Afaik, an expired distribution certificate won't prevent anyone from using your app, it just means that you can't export/release new versions.
Steps to create and import a new distribution certificate (check below for a possible faster way):
Close Xcode
Go to https://developer.apple.com, log in, click on "Account" (top right), then go to "Certificates, IDs & Profiles", which lists all your current certificates.
Click on the blue "+" next to the "Certificates" header.
On the next page pick "Apple Distribution" (for Xcode 11+) - "Next"
Now you have to upload a "Certificate Signing Request" (".certSigningRequest" file), more information and a screenshot can be found here:
Launch Keychain Access located in /Applications/Utilities.
Choose Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority.
In the Certificate Assistant dialog, enter an email address in the User Email Address field.
In the Common Name field, enter a name for the key (for example, Gita Kumar Dev Key).
Leave the CA Email Address field empty.
Choose "Saved to disk,” then click Continue.
Click "Continue" and download the new certificate (".cer" file).
Double-click the file, this automatically opens the Keychain Access app and imports it.
Now you can open Xcode again. To check if the import was successfull, go to Xcode - Preferences - Accounts - Select the Apple ID on the left side, then click "Manage Certiciates" in the bottom right. You should now see a new "Apple Distribution" certificate with a creation date of today.
In the same window there's also a "+" button in the bottom left that gives you a list of new certificates you can create. This might be a faster way but I haven't tested it yet.
For an additional check archive your app as usual, then, while exporting (I use "Ad Hoc"), it should show the name and date of the certificate that was used on the very last page.
On the website you can now click on the expired certificate in the list (if it isn't already gone) and "Revoke" it (red button in top right).
I appreciate if someone can guide me about the use of the iOS Distribution Certificates of the Apple development store.
I see that there are already three iOS Distribution certificates created and that this is the limit, therefore I cannot create another one. I have an application that I will upload to the Apple store, but the following error message appears:
Missing private key for signing certificate. Failed to locate te private key in the keychain
My question is, to get that private key, is it possible to download it from the developer store? or how can I get it?
Add Private Key
Within the Keychain Access menu select File > click Import Items. Browse to the .p12 or .pfx file that you want to import and open it. In the Add Certificates window select System in the Keychain drop-down and click Add. Enter your admin password to authorize the changes and click Modify Keychain.
Creating the iOS Distribution Certificate
Log in to your Apple Developer account and navigate to Certificates, IDs & Profiles > Certificates > Production.
Add a new certificate.
Set up a certificate of type Production and activate App Store and Ad Hoc.
Click Continue.
To proceed with the next step you need a Certificate Signing Request (CSR).
Create ".cer" file in iOS developer account
Login to apple developer account Click “Certificates, Identifiers & Profiles”
Click “Provisioning Profiles”
In the “Certificates” section click “Production”
Click the “Add” (+) button at the top-right of the main panel.
Now, choose “App Store and Ad Hoc”
Click Continue.
I get nervous when I dive too deep into certificates, identifiers, and profiles in iOS. I have an expired distribution push provisioning profile. It expired and I use parse as my push notifications server. I think what I need to do is
-Go to Apple Dev Center
-Create a new provisioning profile with same app id
-Create a new cert signing request and p12?
-Upload p12 to parse?
-Use new provisioning profile and submit app to app store
(I need to update the app anyway)
Is this how I should go about it? If not, what are the general steps. Thank you!
Open Keychain Access Application on your computer. On the top menu, go to
Keychain Access --> Certificate Assistant --> Request a Certificate from a Certificate Authority
Enter your email address (the same one you used for your Apple Developer Program) and choose Saved to disk option. Give the new file a name and save wherever you want the .certSigningRequest file.
Afterwards log in into your Apple Developer account and navigate to Certificates, Identifiers & Profiles section. Under the Certificates section choose Production. Select your App ID and click continue twice. When it prompts you to upload a file, upload the recently requested .certSigningRequest file and click generate. Then download the .cer (certificate) file. Double click the .cer file to open it and store it in the keychain.
Once again, go to Keychain Access Application. Under the certificates category select your newly created certificate, right click the certificate and select Export "Apple Production IOS Push Services: Your App ID". Save this file in the .p12 (Personal Information Exchange) format.
Now, go to your Parse app. Under settings select the Push option. In the Apple Push Certificates section, optionally delete your previous expired certificate and choose select your certificate and upload the .p12 file.
I'm trying to upload my app into App Store through Xcode, I read a few sites and set the code signing to "iOS Distribution" but when I tried to Archive, an error appear "No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) were found."
I've created a new distribution Provisioning Profile in developer.apple.com and link it to my app and selected the distribution certificate to it. I then downloaded this profile and manage to select it in the provisioning profile section in xCode->build settings->code signing. But now I noticed that I can't select any Signing Identity with it saying "No Identities from profile "profileName"". And trying to Archive will just popout the same error as paragraph above.
If I choose "Fix Issue" when the error popup, it resets the Signing Identity to "iOS Developer" and the profile to "Automatic". The archive process runs but when I tried to validate or export an error popup; "Your account already has a valid iOS distribution certificate".
I read somewhere that this is maybe due to multiple certificates in Keychain, but I'm not sure which one to delete:
as you can see, I have a number of certs and some seems to have the same name. The 1st, 2nd, and 4th, is the name of my company (with the same id), while the 3rd and 5th, is my name (with the same id).
Now here's a weirder thing I noticed; in Certificates section of Keychain, I have 2 of the same thing (exactly same name) but their expiry date is different with the one without the key have the same expiry date as the one in the Apple Developer page.
Any idea what's going on (and how to possibly fix it)? Can it be someone (we do have other developer for other projects) actually removes the distribution certificate that I have and created another one (causing the whole thing to not sync)? If that's the case do I need to ask him to export it and send it to me? Thank you.
Case 1:
If you can use the computer that generated the certificate.
Xcode -> preferences -> Choose account -> viewDetails -> choose certificate (Distribution) -> Click setting button and export it
Copy to your computer Do same step but import this time.
Case 2:
IF you don't have the computer that generated the certificate.
You have to revoke the certificate and create a new one. (you have to be admin)
Xcode -> preferences -> Choose account -> viewDetails -> choose certificate (Distribution) -> Click setting button and Revoke it.
And Request new by clicking + button beside the setting. And use it.
OR
You can revoke it form https://developer.apple.com and regenerate.
We are developing an iOS app and we are using our company iOS Dev account (our provisioning profile) for that.
Now the client wants to submit the app using his Apple account.
If our client doesn't have a Mac I think we'll have to create the ipa file and send him. But I'm not sure how I can create the distribution file using their provisioning profile.
Can you please explain what is the process followed in this kind of a scenario?
Do I need to create another apple account and add it to the client's iOS Dev account and create the ipa file using that provisioning profile or is there any other way to do this?
Superb Question.I have stuck with this lot of times.After that i made me doing very simple and easy.
The first thing is you have create the App Id for your application in
-> Developer.apple.com
-> Member Center
-> Click certificates
-> where you can see the app id (It is in left side of the window).If you click app id in center page you can see the old app id's.
-> In above click + symbol for adding new app id for your app
Go to key chain access.If you do not find out that,just enter in spot light.It will come.
->Click the key chain access and go to toolbar of the Mac
->where you can see the Apple Symbol,Keychain Access,File,Edit,View,Window,Help
->Click Keychain access
->Then Click Certificate Assistant
once you click that you can see the options.
->Then click Request a Certificate from certificate Authority.
->Now Certificate information box opens.
->Give user email address
->Then click save to disk only.
Now if you see the desktop,there is CSR.It is used for creating developer and distribution.
3.Go to developer.apple.com site
-> Member Center
-> Click certificates
Click Developer Certificate
->Click + add button
->Select IOS Apple Development for Developer Provisional Certificate
->It asks you CSR for the Generating Developer Certificate
->Just choose from Desktop.
->Click Generate
->Double Click for Download
->If you give the correct CSR it shows developer certificate in keychain with key.
Click Production Certificate
->Click + add button
->Select IOS Apple Adhoc Distribution for Distribution Provisional Certificate
->It asks you CSRstrong text for the Generating Production Certificate
->Just choose from Desktop.
->Click Generate
->Double Click for Download
->If you give the correct CSR it shows production certificate in keychain with key
Click Development Provisional for running the app in device(It is in left below of the window)
->Click + button.It is on above.
->Choose your app id from list app id list (drop down list)
->Then Give the name to development provisional
->Select or Choose the Development Certificate
->Also Choose or Select all devices or particular your client device
->Then submit(generate and done)
->Click Download
->After that Double Click the downloaded certificate.
->If you check in xcode (Click project and choose Build Setting -> click code signing)
->First choose your provisional certificate(Your downloaded development certificate is appearing just select that)
->After that click Code Signing Identity and select the Developer Certificate from the list
->Finally Targets-Code Signing
->First choose your provisional certificate(Your downloaded development certificate is appearing just select that)
->After that click Code Signing Identity and select the Developer Certificate
Click Distribution Provisional for running the app in required devices(It is in left below of the window)
->Click + button.It is on above.
->Choose your app id from list app id list (drop down list)
->Then Give the name to Distribution Provisional
->Select or Choose the Production Certificate
->Also Choose or Select all devices or particular your client device
->Then submit(generate and done)
->Click Download
->After that Double Click the downloaded certificate.
->If you check in xcode (Click project and choose Build Setting -> click code signing)
->First choose your provisional certificate(Your downloaded distribution certificate is appearing just select that)
->After that click Code Signing Identity and select the Distribution Certificate
->Finally Targets-Code Signing
->First choose your provisional certificate(Your downloaded distribution certificate is appearing just select that)
->After that click Code Signing Identity and select the Production Certificate
Finally Archive this for ipa.
NOTE - Give the Correct App Id in .plist Then only it accepts and run.