Failing to create distribution app in Xcode - ios

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.

Related

Adhoc certificate expired issue

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.

iOS app how to submit using client's profile

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.

Valid signing identity not found no ice what's wrong

To connect my device to this developer profile, I tried to make this steps:
I added the iPhone in the section "Device"
I clicked on the section "Provisioning Profiles"
I clicked on the button "+"
I choose the kind of certificate I need (iOS App Development)
I choose an App ID
I choose the certificate
I downloaded the file generated
I clicked on this file and it open Xcode Organizer
Here I'm having issue: when I go to Organizer -> Provisioning Profile, I see the profile I generated, but it says "Valid signing identity not found". What's wrong with my steps?
Here's the pic in which you can see my issue:
You get the error because your private signing key is not in your Mac's Keychain. At some point you created a public/private key pair and committed it to Apple through the provisioning portal in iOS Dev center. If you still have the private key in another computer you can move it to your current computer using Keychains export/import functions. Another option is to create a new private/public key pair.

Xcode does not see my developer certificate in Code Signing Identity

I renewed my IOS Developer Certificate, i deleted old ones from keychains and clicked on my certificate. Everything looks normal in keychains, i have distribution,developer, WWDC certificates in there.Every profile look valid with green marks Under Teams and Provisioning Profiles section in Organizer but in Xcode under Code Signing Identity there is no profile currently match developer profile under Automatic Profile Selector(Recommended). What can i do about it?
thanks in advance.
First of all check in Xcode -> Preferences -> Account that you have your new profile
in the list, refresh the list if it needed.
Check in Building Settings of the project that you chose your new profile's certificate as Code Signing Identity for build type that you do (release or debug).
Also check that in Xcode -> Preferences -> Account your don`t have red exclamation marks with label "Request timed out"
I had this error, and it is gone after i re-logged in using button near this mark (with entering password, etc)

Code Signing Error

The company I am working for has a base app that they reskin and sell to different businesses. I have redesigned the app and am trying to upload it to their account but am getting:
[BEROR]Code Sign error: The identity 'iPhone Distribution' doesn't match any
valid certificate/private key pair in the default keychain
How do I add their developer account into my Xcode and acquire a certificate for distribution?
Thank you
Basically, you need to have maximum privileges in the Provisioning Portal to do the following, so if you don't, get it, and then do this:
Login and download a developer certificate. If you need to create one, select How To from the menu in the Provisioning Portal under certificates.
Download a distribution certificate. Again, if you need one, select How To.
Open both certificates and make sure they open in your Keychain Access
Select provisioning and download both a developer and distribution .mobileprovision provisioning profile. Create one if necessary using How To
Make sure you have XCode open and open both .mobileprovisioning profiles. Make sure that they open in the Organizer and show in the status that they are properly linked with a certificate that is valid in the Keychain Access. If they aren't, a flag will pop up, saying something like "There is no valid certificate associated with this profile" in bright red.
Check your code signing in both the Target and Project areas of your build. Make absolutely sure that both are trying to sign using your distribution profile.
Make sure that you are building the distribution scheme of your app (You may have to create this).
Finally set the build device to iOS Device, set the scheme to Distribution, and select Archive. It is imperative that when the program asks you to allow the code signing to use your private key, that you select "Allow" and not "Always Allow," as this is very buggy and often results in code signing errors.
If you need any more help, comment.
Hope this helps!

Resources