Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPhone Distribution: No profiles currently match

I am about to upload an app to iTunes Connect. I am not Team Agent, nor does it seem the Team Agent can make me a Team Agent. So he logged onto Member Center and downloaded a Distribution Certificate, which is in my Keychain along with the WWDR Certificate.

The bundle identifier is set to se."companyname"."appname".

When I set the Code signing identity to Distribution, it says no profiles match. Can only the Team Agent build the final apps for upload? How do I make XCode "use the right set of profiles"?

Any idea on how to get past this last hurdle? :)

Edit: can the Team Agent log onto Member Center and create a provisioning profile for the app, will that solve everything?

Answer: See Paul Peeleen's answer, I decided to add this additional information (too long for comment).

Paul, I'm going to mark yours as the correct answer, because it set me on the correct track... certificates are for the keychain (which is usually linked to a computer, or rather, a computer user's login, I guess).

A quite separate distribution profile must be created for the app - modifying an existing Development certificate to include the Team Agent only lets him develop. The little 'a-ha' or perhaps 'd'oh' moment was that it has to be created in the Provision section with Distribution tab selected (in the provisioning portal).

After that, in the Target Info/Build tab you just use the default automatic profile selector (dev/distro) and it's found automatically.

I also temporarily tried adding the 'gibberish' (f.ex. JX567ERNB.) before the se.companyname.appname for the Bundle Identifier, but the automatic profile selector told me that it shouldn't be there, I removed it and it worked!

The profiles are what enable the projects to use certificates in the Keychain, I guess.

like image 710
Henrik Erlandsson Avatar asked Aug 31 '10 12:08

Henrik Erlandsson


People also ask

What is iOS distribution profile?

June 28, 2022 03:34. A Distribution Provisioning Profile is a combination of your App ID and Distribution Certificates. It authorizes your app to use particular services (like Push Notifications) and ensures that your app is submitted by you. This is why Distribution Certificates are tied to a specific Mac.

How do I find provisioning profiles on my iPhone?

The easiest way to manage the provisioning profiles on the iPhone is to open Xcode and select the menu item "Devices and Simulators" in the Window menu. Right-click on your iPhone XS and select "Show provisioning profiles". You'll then be able to see the installed profiles, add new ones and delete existing profiles.

What is Allowprovisioningupdates?

Aug 14, 2020. Since Xcode 9, Apple provides automatic code signing identity management from the command line by using the xcodebuild command. Using the “allowprovisioningupdates” flag, you can enable code signing; however you may get errors like: Your session has expired.


3 Answers

"iPhone distribution no profiles match" is one of the most annoying issue that I have ever had with app development.

This is how I sorted it out:

In Developer under iOS Provisioning Portal I needed to generate 4 certificates and download the WWDR intermediate certificate to be able to submit my app to the App Store:

  1. Under Developer Certificate section (link) generate a Developer Certificate. Also Make sure that you have the WWDR intermediate certificate installed, if in doubt download it from there.
  2. Under Developer Certificate section (link) generate a Distribution Certificate (This is not that will show up in Xcode!)
  3. Under Provisioning section (link) generate a Development Provisioning profile certificate
  4. Under Provisioning section (link) generate a Distribution Provisioning profile. THIS WILL SHOW UP IN XCODE AS A DISTRIBUTION CERTIFICATE!

After that I was able to select the iPhone distribution profile generated at 4. Also make sure that your target settings are correct as they overwrite the project settings.

Your active provisioning profiles are listed under "Xcode/Organizer/Library/Provisioning Profiles"

I hope it helps

UPDATE: Some distribution provisioning profiles often just "disappear" from my list. So I have to download and install (just double click) them again from https://developer.apple.com/ios/manage/provisioningprofiles/viewDistributionProfiles.action not a big deal, but annoying.

like image 143
Tibidabo Avatar answered Sep 23 '22 12:09

Tibidabo


I checked this with my accounts and it seems that only the team agent can create the stuff needed for AppStore or AdHoc releases.

IF you have the correct provisioning profile installed, and both your project settings and target setting for the "release" build are set to the correct provisioning profile. + that you have the correct certificates installed for that computer... you can build the release. I am unsure if only the Team Agent can upload these build, but otherwise you can package the release as a zip file (which you should anyways) and send it off the the team agent. The Team agent can then use the Application Loader to upload the application.

like image 43
Paul Peelen Avatar answered Sep 26 '22 12:09

Paul Peelen


Also dont forget If you deleted all your certificates and keys in Keychain and you plan on regenerating those certificates make sure you change your certificate preferences in Keychain for Online Certificate Status Protocol to Off and Certificate Revocation List to Off, for some resaon this important step is the only way it worked for me.

Another reason developer profiles are missing

While in organizer under Library > Provisioning Profiles... On my computer, if I hit Refresh, all the Distribution profiles are removed!!! No big deal, just go back to your provisioning portal and go to Provisioning > Distribution and download the appropriate distribution profiles and your good to go! :)

Instructions right from apple... Follow them EXACT https://developer.apple.com/ios/manage/certificates/team/howto.action

To request an iOS Development Certificate, you first need to generate a Certificate Signing Request (CSR) utilizing the Keychain Access application in Mac OS X Leopard. The creation of a CSR will prompt Keychain Access to simultaneously generate your public and private key pair establishing your iOS Developer identity. Your private key is stored in the login Keychain by default and can be viewed in the Keychain Access application under the ‘Keys’ category. To generate a CSR:

In your Applications folder, open the Utilities folder and launch Keychain Access. In the Preferences menu, set Online Certificate Status Protocol (OSCP) and Certificate Revocation List (CRL) to “Off”.

Choose Keychain Access -> Certificate Assistant -> Request a Certificate from a Certificate Authority. Note: If you have a noncompliant private key highlighted in the Keychain during this process, the resulting Certificate Request will not be accepted by the Provisioning Portal. Confirm that you are selecting “Request a Certificate From a Certificate Authority...” and not selecting “Request a Certificate From a Certificate Authority with …”

In the User Email Address field, enter your email address. Please ensure that the email address entered matches the information that was submitted when you registered as an iOS Developer. In the Common Name field enter your name. Please ensure that the name entered matches the information that was submitted when you registered as an iOS Developer. No CA (Certificate Authority) Email Address is required. The ‘Required’ message will be removed after completing the following step. Select the ‘Saved to Disk’ radio button and if prompted, select ‘Let me specify key pair information’ and click ‘Continue’.

If ‘Let me specify key pair’ was selected, specify a file name and click ‘Save’. In the following screen select ‘2048 bits’ for the Key Size and ‘RSA’ for the Algorithm. Click ‘Continue’.

The Certificate Assistant will create a CSR file on your desktop.

like image 36
M Jesse Avatar answered Sep 26 '22 12:09

M Jesse