Can't install Distribution provisioning profile - ios

I'd like to submit an app to the AppStore (my first app !).
I've already tested the application in my device (so I already have a development provisioning profile) but I'm not able to install a Distribution provisioning profile in Xcode.
I've followed the procedure (I don't know how many times) but when I try to add the provisioning profile through the Organizer I have following problems:
if I double click on the file nothing happens
if I click Add, the file is not selectable (grey)
if I drag and drop from Finder I see the following message: 1 profile
cannot be installed on "iPhone of Corrado". "iPhone of Corrado" is not included in this profile.
What does it means ?
If I go in the Development Center\Certificates, Identifiers & Profiles\Provisioning Profiles\Distribution and edit the profile, there is no devices and there is no way to add any (while in the Development provisioning profile I see all my devices).
What I'm doing wrong ?
Thanks, Corrado

I don't know which Xcode you are using, but supposing you are using Xcode-5, i suggest you use the automatic provisioning profile sync feature.
Just go to Xcode>Preferences and select the Accounts tab.
If you don't have any Apple IDs account signed just click on the '+' button on the bottom left and select 'Add Apple ID...', put the id and password that you use to log on the apple developer.
After that just click on the 'View Details...' button on the bottom right, and your signing identities and provisioning profiles should appear there. If they don't, just click on the bottom left refresh button.

I've just spent the last 12 hours trying to figure out why my OSX App wasn't code signing and the error was related to the provisioning profile containing 0 devices for my Mac. After following the advice above, much head scratching, deleting and re-creating certificates, the following link provides the correct approach for Distribution provisioning
https://developer.apple.com/library/ios/qa/qa1814/_index.html
Moving forward it seems that for Mac App Store Submission on OSX the correct code signing identity to use is Mac Developer and set the Provisioning Profile to Automatic.
You do need to restart Xcode during the Code Signing and Provisioning reset, but it does work.

Related

Provisioning profiles status invalid (managed by XCode)

Suddenly all my provisioning profiles are in status Invalid (managed by XCode). Why?
Also I remember in XCode 4 that you always had to create your provisioning profile. Now XCode autocreates your provisioning profile for development. Is this a new feature on XCode 6?
I had the same problem today.
In the Apple Developer website, all of my company's Provisioning Profiles were marked as "Invalid (managed in Xcode)". None were out of them were date, none were using iOS Certificates which had expired, and the website gave zero suggestion that anything was actually wrong.
The solution, ridiculously, was to delete my perfectly valid iOS Certificates, and recreate them.
We write in-house apps aswell as apps for the App Store, and Apple (quietly) refuses to let you have more than 2 of these at once. So I was unable to create a third iOS Certificate which would allow me to use the "In house and Ad-hoc" option, hence the need to delete an iOS Certificate first.
Once I had pointlessly recreated the "iOS Certificate", the Provisioning Profiles came to life.
Part 2 of this farce is to go into Xcode, and delete your Provision Profiles (XCode \ Preferences \ select your iOS Certificate \ View Details, then select all of your provisioning profiles, right click and select "Move to trash".
At this point, absolutely nothing will change, and you'll think you've done something wrong.
But then, if you then quit Xcode, and go back in, then you'll see the Provisioning Profiles will have disappeared.
Now you can re-download the Provisioning Profiles from the Apple Developers website, and redownload the latest versions.
Until Xcode 7.2 comes along, and breaks something else.
(Seriously, I spend more time fighting with Xcode bugs than writing code..)
Apple introduced Xcode Managed profiles in Xcode 5 as a way to try and make the provisioning process less cumbersome and get Developers sending code to their devices without having to go through the manual upload/setup/download/install/build process. In effect, Xcode was completely automating the entire provisioning process whenever there was a code sign error detected. For developers that had already wrestled with understanding Provisioning, this new behavior was frustrating as the processes those teams put in place were unintentionally being wrecked by Xcode's best attempts to be helpful. That said, it is better today but not as transparent as it should be when it comes to affecting your Certificates, Identities, and Profiles data. If you are't familiar with what all is included in a provisioning profile or signing identity, there's some related reading you might want to skim: What are code signing identities?
Suddenly all my provisioning profiles are in status Invalid (managed by XCode). Why?
The most common reason for a profile to move to the "Invalid" state is because at least one of the profile's registered test devices has been deactivated / removed from the developer's account. By doing so, all profiles that included that device UDID are marked as invalid and require regeneration. This can be accomplished in Xcode > Preferences > Accounts, clicking 'View Details' on your Apple ID account, and then clicking the refresh button in the lower right corner of that account details screen.
Also I remember in XCode 4 that you always had to create your provisioning profile. Now XCode autocreates your provisioning profile for development. Is this a new feature on XCode 6?
As stated in the start of this answer, no. Autogenerated provisioning profiles were introduced in Xcode 5 and the workflow has been refined several times since Xcode 5.0 and modern Xcode. If you allow Xcode to assist you with Code Signing error messages, its default position is to check the validity of your development or distribution certificate (depending on what kind of code sign operation you were trying to do), check the validity of the AppId and Provisioning Profile, and revoke then reissue whichever part of the signing identity is in error.
Really it messing up on me. it destroyed my 4 hours fighting with Xcode. At last created another new provisioning file with selecting appleID as iOS Wildcard App ID (xxx.*)

Code Signing not showing Provisioning Profile - Xcode 5.1.

Hi, I recently upgraded to Xcode 5.1 now I can not find Provisioning Profile in Projects->Target->Code Signing section of settings. Before Xcode 5.1, I used to change Provisioning Profile to desired profile from Provisioning Profile option then it starts to appear in code signing identity debug or release section as shown in image below.
But now I am not given this options in Code Signing so I can't change the debug or release profile it only show automatic or identities in keychain.
How an I change to the desired provisioning profile?
Update:
I tried using the 000000B-0000-0000-0000-000000000000 UUID code at User Defined Provisioning Profile and it accepts and build and displays Provisioning profile at Code Signing. But it is not resolving Provisioning profile name at User Defined Profiles.
I was stuck with same issue and finally got it done here u can look for the following screen shots..
go to Code signing in the build setting and change the Provisional Profile NONE to the provisional profile you like to test
then change the Code signing identity to test your Application on device with the suitable bundle identifier look for the following screen shot
If you find this Answer is correct then Vote up lets other also can solve their problem.
Thanks
Make sure you have 'all' and not 'basic' display mode selected.
I filed a bug on this. You can manually do it but a pain in the rear. This to me is a huge bug. I hope they fix it soon.
Login in Apple Dev website and go to the profile list view, then download the profile and double click to install, then you can see it in Code Signing list.
Check your bundle Id and make sure that you have installed your required profile.
Then Click on Provisioning profile option and select a profile(see the option below code signing identity).
Now you need to select certificate under code signing identity.
To be sure:
Our team encountered an afternoon of frustration trying to open an app or update an app compiled with Xcode 5.1 on iOS 7.1 device with a tardy profile. Download and install a new profile (as necessary) then:
Make sure the BUNDLE IDENTIFIER in Xcodeʻs GENERAL view for your project matches what the profile reads on your Dev web portal, and then THAT profile is installed in Xcode verbatim. Select that profile in your BUILD setting, and you could be solved by now (the App installed on devices without issue), but we also noticed we could to go back to GENERAL view and the FIX button actually worked: it fixed the "not found" profile
Try by creating an archive. I attached an iphone and tried to create an archive which result in no provisioning profile error. But now the option in the target to select a provisioning profile was there from which I was able to choose the provisioning profile
Had this problem, just had to open Preferences and refreshed the screen under Accounts - View Details.
The provisioning profile had no options for me. I had registered for the Apple Developers program recently. I followed these steps and then clean and build. It worked.
Import User to XCODE

No identities were available - administrator request

I had problems while "archiving" my app. I think there are invalid profiles because of iPhone Update to 5.1 and XCode update to 4.2.2.
I've taken now more than 4 hours to get rid of certification issues while using this thread step by step 3 times (which costs a lot of time):
Getting "A valid signing identity matching this profile could not be found in your keychain" warning
I still have the following fault:
No identities were available
An administrator must request identities before they can be downloaded.
The "Download identities" button went back to this window after processing some seconds.
Do you know how to get out of this wood of certification documentations and solve that fault?
Visit Member Center
Go to "iOS Provisioning Portal" -> "Certificates" (Left sidebar) >> "Distribution" tab
Check field "Provisioning Profiles". If empty, next (4)
Go to "Provisioning" (Left sidebar) -> "Distribution" tab. Press "New Profile" and complete it.
Go back to (3) check the field again.
Download and "run" (double click) the new provisioning profile.
In your project's build settings select the NEW provisioning profile (it might have the same name as the old one)
In your project's build settings update your code signing identities (all of them) to the new one if there is one. (The old one was probably expired which is one of the biggest causes for the error message you saw)
Verify that your bundle ID is correct (CaSe SeNsEtIvE)
Back to XCode Organizer - Devices. Click TEAM (Left sidebar) and click "Refresh" (right-bottom). You will find XCode fetch the new profile. If new content loaded, repeat steps 6 and 7 (they will have been changed!) *If you can't find team because you are running a newer version of xCode, go to Xcode preferences (clicking "Xcode" on the mac toolbar on the top left corner of your screen) and go to account, select your team and click refresh. If new content loaded, repeat steps 6 and 7 (they will have been changed!)If you are in Preferences -> Accounts and you still can't refresh, then:
Click on the Accounts tab
Select an Apple ID in the list
Click "View Details" on the bottom right
Click on the refresh arrow on the bottom left
Xcode will now refresh the updated credentials, and you can proceed to validate or distribute your app.
Validate or distribute your app again. It should work.
If this didn't work then go to "TEAM" under project settings > targets and select "none"... Now that you have selected None you will need to repeat step 7 and change the code signing identities (all of them) and try archiving again.
Lastly, if none of the above worked. Simply create a new production certificate AND create a new provisioning profile with the same bundle ID. (Yes, this will work if you are updating an app that is already live). Download the cert and prov. profile and run both (double click). Now repeat step 6 and archive. This should work.
#Takoi's answer is correct. However, with my latest version of Xcode, there is no TEAM option in the Devices section of the Organizer. I had to do the following instead to refresh the credentials:
Go to Xcode->Preferences
Click on the Accounts tab
Select an Apple ID in the list
Click "View Details" on the bottom right
Click on the refresh arrow on the bottom left
Xcode will now refresh the updated credentials, and you can proceed to validate or distribute your app.
Hope this helps!
Make sure the bundle id in your .plist file in XCode is the same as the bundle id in itunesconnect, if it's off, it won't be able to match the archive to the profile on itunesconnect when validating/distributing.
This is a little easier now.
You go to the app itunesconnect and login
click "certificates"
Provisioning Profiles / Distribution
generate a profile,
download the profile
double click it
I am a member of 2 teams and had the same problem while uploading one of the projects.
Changing General -> Identity -> Team to None in project settings (XCode 5) allowed me to upload the application to iTunesConnect.
Screenshot is here
My certificate had expired which resulted in my provisioning profile being expired.
Once I -
Updated my certificate on the iOS web portal
Clicked Edited on the provision profile
Selected the new certificate and clicked generate
In Xcode I refreshed my provisioning profiles
Error went away
I guess it is written somewhere in the stream, I did not read all in detail. I just want to emphasise on this point:
Due to an annoying xCode behavior, once you've set up everything, you HAVE TO clean the project and Quit xCode.
Then relaunch and build. Now you know if it works or not.
It looks like you're going to have to request another developer cert. Go to the iOS dev center website and go to the provisioning portal. Click the certificates tab and follow the directions. https://developer.apple.com/ios/manage/certificates/team/howto.action
To be clear, you're problem doesnt seem to be provisioning related, it's specifically the developer cert. if you do get another cert, you'll have to create all new profiles to sign your apps with.
My bundle identifier was named differently. I had to change it from Nyquist.GasBro to com.Nyquist.GasBro which is what I had in the provisioning profile.
None of previous answers helped me, so I post my issue.
Dev Center: Certificates, Identifiers & Profiles > Provisioning Profile > Distribution
Make sure that there is a distribution provisioning profile, and App ID in it is exactly the same as Bundle ID of your app in Xcode (Project Settings > General > Identity > Bundle Identifier).
Xcode: Project Settings > Build Settings > Code Signing:
Provisioning profile - choose that Distribution provisioning profile name (not Development!)
Code Signing Identity - I choosed Automatic since I have only one.
P.S. Before doing this, I deleted all unused and expired provisioning profiles and signing identities from Dev Center and from Xcode. Then, refreshed as mentioned in other answers: Xcode: Preferences > Accounts > (my Apple ID) > View Details > Refresh.
The answer that you are looking for is that when you generate the certificate request for COMMON NAME you need to put your HUMAN NAME as in John Smith, not your app name. Apple uses this term Common Name in 2 different ways and doesn't tell you that the certificate is supposed to have your name on it whereas in another area they ask for common name and want the APP name.
I had the same problem.
Nothing mentioned on this page did not work for me until i was deleted everything from archive.
After that problem disappear.
For those who says that the Ad Hoc Distribution profile wont work this year 2014, I have to agree.
In Build Settings locate the Code Signing setting: for Release choose your Store Distribution and then select Menu>Product>Archive.
Later, in the Organizer Window, select your archive and clic in Validate. It will let you select the Ad Hoc profile and validate... then select Distribute, it will let you save as .ipa file.

"No unexpired provisioning profiles found that contain any of the keychain's signing certificates" Horror

I have seen a few other questions that addressed this topic but none like mine. Yesterday I innocently added a device to the list of devices.
Question:
I am under the impression that once you add a device, it will now be linked to the provisioning profile. However, I believe it was not linked to one of my distribution profiles. So I went into edit the profile, clicked the checkmark next to the device, and hit submit. This is where the problems began.
I notice two things: I recently renewed my certificate/provisioning profiles about a week ago. Now, it thinks I renewed my provisioning profile yesterday ( or at least it says so in the organiser ).
Also, when I try to build any project I get the awful "No unexpired provisioning profiles found that contain any of the keychain's signing certificates". In the build settings my signing identity shows up under Identities without provisioning profiles. I have read horror stories of people having to tear everything down and rebuild and I hope I don't have to do that here..
Related question:
Code Sign error: No unexpired provisioning profiles found that contain any of the keychain's signing certificates
iOS distribution is such a pain in the ass! This worked for me (follow the steps in this order):
1) in the xcode organizer:
delete all provisioning profiles
2) in the mac os x keychain:
delete all iOS dev certificates
3) go to developer.apple.com
log in to the member center
revoke all certificates (edit: some redditors pointed out that this isn't a good idea if you're working in a bigger team. If that's the case try just deleting expired ones.)
4) go back to the xcode organizer:
click refresh (bottom right) under the provisioning profiles tab and
login
List item
on the popups click the positive button
5) in your xcode project go to the "build settings" tab
under code signing pick the dev. and distr. identities
if they are not there or not valid go to developer.apple.com and navigate to "provisioning" if they are invalid just click modify and save them again
6) go back to the xcode organizer:
hit refresh again (bottom right)
Today I've installed Xcode 4.3.2, and immediately had the same problem! First trying to archive distribution, and after that In a clean new project, trying to run on a device.
I fixed both problems.
1. For successful distribution I've downloaded and installed my distribution certificate from iOS provisioning portal, after that in Xcode I've setup Code Signing Identity correctly. This solved my problem with archiving.
2. I had the same problem creating new project and trying to run on device. Again in provisioning portal in certificates I've deleted my development cert. Also I deleted all development provision profiles. Also deleted them from organiser. Then I added the device again.
Hope this helps!
For me just hit the "Refresh Button" at the bottom right was the answer !
Hope I can help someone.
I got this error when I the bundle identifier for my app did not match the provisioning profile I was trying to use with it.
I came across this today. It turns out that after I cleaned up my devices list (removed a few I'm no longer doing development for) it made some of my development certificates invalid. I deleted those from the provisioning profiles and regenerated them.
I have Xcode 5.1 and i fixed the issue like this
Xcode -> Preferences -> Accounts -> View details -> Refresh button (Bottom Left)
After it was refreshed i clicked done, and the error was gone :)

I don't find my provisioning profile in the code signing panel in Xcode

Normally, i should see my provisioning profile in the list here:
Why i am not getting it please?
(For Xcode 4.x) Select the teams tab in the Organizer, then click on the refresh button in the bottom right corner. The organizer will automatically download all the certificates, keys and profiles for you.
Actually I found it a good idea to click this button every time I change something on provisioning portal.
Of course it does not help if you mistype something on the provisioning portal or in info.plist (bundle identifiers etc)
Make sure you have the WWDR intermediate certificate downloaded. Your developer profile is specific to your machine. So if you set it up on an old machine, you'll need to do it again.
You can take a look and see if somethings wrong by going to the organizer (Window->Organizer). Click the device tab. On the side click on Provisioning Profiles. Profiles that are bad will have a red or yellow banner with an explanation.

Resources