I have an app in appstore, whose certificate is about to expire in 20 days. So i created new distribution certificate & new provisioning profile(used same previous appid) > then recreated build & submitted to Appstore. My queries in here is;
Is above process is the proper way of doing it.
1) I haven't revoked old certificate, it's still in account. Do I need to do anything to it or just leave it alone?
2) what if users didn't update my latest build (with new certificate) from appstore & instead try to stay with old build that got certificate about to expire shortly? In such cases, what'll happen to app, once cert is expired?
Thanks in advance.
There was no reason at all to submit a new build to the App Store - at least due to the certificate. An expired certificate only affects your ability to use provisioning profiles. Existing apps are not affected at all.
Users that don't update will not be affected.
Feel free to delete any old certificates. Use the new one to create new provisioning profiles.
Related
I got this mail from Apple.
Your iOS Distribution Certificate will no longer be valid in 30 days. To generate a new certificate, sign in and visit Certificates, Identifiers & Profiles.
I get some information from StackOverFlow but I want to know what I need to do if I modify my existing app. Will I able to update in future the same app with new certificate and new profile. Is that I need to revoke and generate the new certificate. Thanks for your help and comments.
As per new updates, you don't need to renew the certificate as a separate action. The renewal is based on the expiration of the Apple developer account. By taking the action of renewing your membership, this will automatically renew your certificates.
It is just a reminder of the certificate that is going to be expired very soon in future.
I want to know what I need to do if I modify my existing app. Will I able to update in future the same app with new certificate and new profile.
Yes, You can always able to create new certificates (Some has limitation to create) and use these certificate to generate new mobile provisioning profile or regenerate mobile provisioning profile using the new certificates.
Using old certificate (Expired) you can not able to run build on device and not able to publish app on App Store.
The new certificate will not affect on your app. In simple words, certificates are being used to run app on device, publish app on App Store, push notification, etc.
Context: A provisioning profile(PP) is nearly expired. The distribution certificate linked to it, will not expire for the next 2 years. The corresponding app is distributed over a MDM. All i read about renewing a PP is also including renewing the distribution certificate. But i just want to extend the PP with as little effort as possible.
Approaches: Either i would just press the "Generate" (on apple developer site while editing the PP) without changing anything or i would create a new one besides this one with same settings.
Questions: Which approach do you recommend? Is there a way, that i don't have to reinstall the app? What happens if i update this PP? Will the app run until the old PP is expired and then i have to install the new app with new PP?
I'd appreciate your input.
Yes, if the certificate is still good for a while, the best approach is to simply generate a new provisioning profile. Your existing deployments of the app will not be affected (as long as you don't revoke the certificate) because the existing profile is technically still valid until it expires.
Then, before the old profile expires, you have two options.
You can re-build the app with the new provisioning profile and push to the devices with your MDM solution. This will install the app AND the new provisioning profile on the devices. The app doesn't need to have changed - you are just using it to carry the payload of the new provisioning profile. The app will then work until the new provisioning profile expires (and you'll repeat this process next year).
If your MDM solution offers the ability to push the provisioning profile to your devices directly, take your new provisioning profile and deploy it to all the devices with the app. Once you have done this, the app will continue to run after the original, embedded provisioning profile has expired, because all iOS cares about is if there is a valid provisioning profile for the app ID on the device. No need to re-build the app, so this is preferable if there is no other reason to update the app.
Note that when your certificate expires, however, you will need to rebuild (or at least re-sign) the apps and redeploy them to the devices, so there will be no easy fix of just pushing a new provisioning profile when that happens. Plan ahead and give yourself enough time before the cert expires to make sure all necessary apps are re-built and redeployed.
My development and distribution certificates are expiring today. I have followed below link and got infos about creating a new one.
Proper way to renew distribution certificate for iOS
My questions are listed below:
What is the best way, revoke certificate and create a new one before certificate expires or wait for it to expire and then create a new one?
What will happen to the old one in keychain access, do i have to manually delete them?
We uses the same certificate in two different machine, do we have to delete the old one from machine's keychain on the machine and then create the new one and then export the new keys to other machine?
one of my provisioning profile has expiry date of 26/07/2017 however if I am changing the development certificate and distribution certificate so I need to edit and regenerate the provisioning profile as well because I am changing the certificate. Is this correct?
1) I would advise that you wait until they expire, then request new certificates in the certificates & identifiers section of the developer portal. Your certificates expiring will not affect any current apps you may have on the app store, it will only remove your ability to sign code. Once they expire, follow the steps to create new development and distribution certificates.
2) There is no need to manually delete your certificates from keychain access. Just make sure to choose the current ones in your Project's build settings.
3) Since you have two machines, you will have to download these 2 certificates to your other machine as well and add to keychain access.
4) Yes, you will need to regenerate your provisioning profiles using your new certificates, download them, then install them to xcode. You may also want to delete your old provisioning profiles. To do this, go to Xcode->Preferences->Accounts->(Choose apple ID here)->View Details. Now, right click on expiring profiles, hit show in finder, then delete them from finder. Also, remember to update which profiles your project uses in your build settings.
I have an in-house enterprise app that is managed (deployed) from MaaS360
'https://portal.fiberlink.com'
And this app is built (and still maintained) in XCode 4.6.3 (i know, i know), so I don't have any of the fancy new features in XCode 7 that might help alleviate this problem. In fact, even the refresh button in Organizer no longer works... you tap it and a dialog says "service unavailable" and I've tried it on different days, so it's not just a temporary glitch or service interruption. I believe apple disabled whatever portion of their service was servicing that request from XCode 4's Organizer.
The provisioning profile on it is going to expire in March, and I'm trying to figure out how to renew it without inconveniencing the users by making them download a new rebuilt app. It would be particularly painful for them because it would require they sync a few gigabytes of data from their device through iTunes for each person, and it's a few hundred people.
My problem is, my certificate I used to sign the app is also expiring around the same time (in March).
I happened to have another certificate and an associated provisioning profile, I had generated on a different mac which expires in 2019, and I tried to use it to update the expiring provisioning profile on MaaS360 for this app in question, and I get this error
So what has me a little terrified is, I'm back on the mac where I originally created and deployed the app... if I need to renew my existing certificate (which I assume means revoking it and replacing it with a new one), in order to create a new provisioning profile, aren't I going to run into this dialog again, claiming that my certificates don't match, because I'll now have a new one, hence I can't update the profile.
If the only way to update my expiring provisioning profile is with my soon-to-be-expired-but-also-identical certificate which originally created the profile, that still means my profile is going to expire as scheduled because my original certificate will have expired too.
Is there a way out of this dilemma?
You can have two certificates active at the same time. So I would generate a new certificate using the same key you used to generate the original one. To do this on the Apple developer portal, you will need the cert signing request. Most developers don't save this when they generate their certificate the first time. The good news is, if you have the private key that was used for your distribution certificate, you can use that to generate the CSR. To find out if you have the private key, you can use this post for how to locate it in the Keychain app. https://stackoverflow.com/a/33651921/3708242
Once you have verified that you have the private key used for the certificate for the app store distribution, you can generate the a CSR using the following procedure: https://stackoverflow.com/a/7111454/3708242
Once you have the CSR, go to Apple's developer portal and generate a new distribution certificate for "In-House and Ad Hoc" distribution. As long as you only have one out there, you should be able to create a second without having to revoke the existing one. Once you've done that, you will likely need to provide that certificate to the MaaS360 service (I'm not familiar with how that works, but somehow the Maas360 server must have the private key and certificate that the apps were built with, as it is clearly checking that when you push the build of your app and the certs don't match). So download the new cert and provide that to MaaS360.
Then, generate a new distribution profile using the new certificate. Or you can update the existing one to use the new cert by clicking the edit button on the provisioning profile, then changing the radio button to the new cert which should expire several years out. Note that this won't prevent any existing apps built using the profile from running in the meantime (revoking the certificate, however, would immediately cause the apps to stop working, which you don't want). Save and download the new profile, and use it to rebuild the app.
The app will then be built with the new certificate, that won't expire any time soon. I do think you are missing the part of the process where you will have to provide the new cert to MaaS360. I can't really help you with that part, but hopefully there is some documentation from IBM that can help you out there. But, you will need to fix it, because once the cert expires, non of the apps built with it will work. Good luck and let me know if any of this is not clear enough.
I have a paid application in the App Store . Recently i got an email saying that my distribution certificate is expiring and needs to be renewed.
The Email was :
This certificate will no longer be valid in 30 days. To create a new certificate, visitCertificates, Identifiers & Profiles in Member Center.
My question is, after i renew it either by waiting the whole 30 days and then renewing it or by revoking it and requesting a new one, can i issue updates to the already present applications once i renew it? and how?
Sure - either option is fine - either let it expire or renew now. You won't be able to submit any updates with an expired cert, but once renewed you are good to go. No problem updating already existing apps with the new certificate.
It is possible to create new distribution (and also development) certificate directly in Xcode.
Choose Xcode > Preferences.
Click Accounts at the top of the window.
Select the team you want update, and click Manage Certificates...
Press the + button and choose iOS Distribution