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.
Related
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 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.
I am very new in iOS development. I make wrong things for my certificate in xcode and now it become revoke for my account.
My iOS Development is Revoked. and in keychain Access all certificates are gone.
What could I do to be valid again?
Log in to your Apple developer account and upload a new certificate signing request to get a valid certificate. How to do that check this link:
https://mobiforge.com/design-development/deploying-iphone-apps-real-devices
http://www.aquafadas.com/en/documentation/sample-page/developer-apple-com-2/generating-your-development-certificate/ (Old Link Dead)
1st Step (Apple developer site)
Go to this URL (Apple developer site):
https://developer.apple.com/devcenter/ios/index.action
Log in with your valid account.
On the right-hand side, there is a column with a heading "iOS
Developer Program". Select the "Provisioning Portal" section.
On the left-hand side, click the row of the column that is labeled
"Certificates"
Since I already have a certificate I'm not sure, but somewhere on
this page you should be able to click "Request certificate" or
something similar.
Wait for your new certificate, and then download and install it as
before
2nd Step (Xcode)
Revoke all current certificates and provisioning profiles
To invoke "Automatic Device Provisioning" open Xcode's "Window" menu
Organizer > Devices tab > "Provisioning Profile" sidebar under Library.
Check the "Automatic Device Provisioning" checkbox and click the
"Refresh" button. After clicking Refresh a dialog should appear
requesting your team member account credentials. It is important to
answer 'yes' when asked to create your iPhone Certificates if any are
needed. In that case, clicking "Submit
Request" will allow Xcode to create, download and install the
certificate(s).
According the 2nd step XCode is doing for you automatically below things
Prompts to create and install your "iPhone Developer" certificate
if one doesn't already exist in the iOS Portal
(for admin or agent roles) prompts to create and install your
"iPhone Distribution" certificate if one doesn't already exist in the
iOS Portal
Creates a Wildcard App ID if one does not already exist in the iOS
Portal
Creates, or updates with new devices added to the portal, your iOS
Team Provisioning Profile and installs that into your profile library
Syncs the profile library on your local machine with the profiles
on the iOS Portal
You can also refer apple link https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
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.
I deleted a certificate in Provisioning Portal (Certificates). Now, when I want create a new certificate I see a warning and this message is sent to my email:
Your Development Certificate Has Been Revoked - you have revoked your
Development certificate and it's no longer valid
My account is valid.
What can I do to add new certificate without problems or restore the old one that I have on disk?
Manual Way:
Go to this URL (Apple developer site):
https://developer.apple.com/devcenter/ios/index.action
Log in with your valid account.
On the right-hand side, there is a column with a heading "iOS Developer Program". Select the "Provisioning Portal" section.
On the left-hand side, click the row of the column that is labeled "Certificates"
Since I already have a certificate I'm not sure, but somewhere on this page you should be able to click "Request certificate" or something similar.
Wait for your new certificate, and then download and install it as before
Other details can be found in Apple's Tech Notes here: https://developer.apple.com/legacy/library/technotes/tn2250/_index.html
You can ALSO have XCode create everything for you.
Revoke all current certificates and provisioning profiles
To invoke "Automatic Device Provisioning" open Xcode's "Window" menu > Organizer > Devices tab > "Provisioning Profile" sidebar under Library.
Check the "Automatic Device Provisioning" checkbox and click the "Refresh" button. After clicking Refresh a dialog should appear requesting your team member account credentials. It is important to answer 'yes' when asked to create your iPhone Certificates if any are needed. In that case, clicking "Submit Request" will allow Xcode to create, download and install the certificate(s).
What XCode is doing for you automatically, according to the above tech note:
1) Prompts to create and install your "iPhone Developer" certificate if one doesn't already exist in the iOS Portal
2) (for admin or agent roles) prompts to create and install your "iPhone Distribution" certificate if one doesn't already exist in the iOS Portal
3) Creates a Wildcard App ID if one does not already exist in the iOS Portal
4) Creates, or updates with new devices added to the portal, your iOS Team Provisioning Profile and installs that into your profile library
5) Syncs the profile library on your local machine with the profiles on the iOS Portal
Solution for Xcode 8
Xcode Preferences > Accounts
Choose your account
Click 'View Details'
Click 'Download all profiles'
Restart Xcode
This step is optional, meaning that might work without this: Product > press 'alt' button > Clean Build Folder
These solved my issue.