Wrong/AutoGenerated Provisioning Profile when Submitting Build to App Store - ios

I am attempting to upload my iOS app build. After clicking submit from the Organizer-Archives window in Xcode, it seems to select the wrong Provisioning profile to submit. It is also not editable.
I have the correct iPhone Distribution signing identities, and App Store provisioning profile in both the project and target (under Build Settings).
I'm skeptical about submitting the app with this auto-selected Provisioning Profile ("XC: Rajib.Tho") instead of "My Parse Push App Store Profile." Am I doing something wrong here? My app uses push notifications so I want to make sure the provisioning profile is set up correctly before submitting.
Screenshot here of what I see:

I solved this by deleting the provisioning profile that Xcode was auto generating from Apple's developer portal. It appears that it was pulling it from there, and once I deleted it from there and archived and submitted it, it pulled the correct provisioning profile that I intended to use!

I'm not sure how Xcode chose another provisioning profile, when you explicitly selected another.
If I were you I would find and delete the "XC: Rajib" provisioning profile and start over (restarting Xcode in the process).
I guess you could give Xcode the benefit of the doubt, by turning down the Binary and Entitlements triangle and carefully checking the entitlements then submitting if they're right... but I wouldn't feel good about it.

Related

Ad Hoc application-identifier entitlement doesn't match?

I'm getting the following error message from Xcode 9 GM when trying to do an Ad Hoc distribution export of an iOS app archive from the Organizer.
Profile doesn't match the entitlement file's value for the
application-identifier entitlement.
The bundle identifier and the App ID do match. I never got this message for the same project with Xcode 8. So where is the new mismatch? Something I need to do in Xcode? Or is there some new setting when creating an App ID or Ad Hoc distribution provisioning profile in iTunes Connect?
The mismatch is in the provisioning profile being used. I can't tell you why, but the entitlements are being extracted from your provisioning profile during signing, based on the portal appID that profile was created from. There's a mismatch between the bundle ID of the target you built and the bundle ID of the portal's appID record that the signing provisioning profile was created with.
First, make sure that the profile is the one you're meaning to use (the AdHoc Distribution provProf for a portal appID that matches the bundle ID of your target, and if that looks right, consider regenerating the AdHoc provisioning profile and installing it using the Xcode>Preferences >Accounts "Download Manual Profiles" option.
Sometimes Xcode will get confused if you have old versions of provisioning profiles installed, and I've even seen times in the past where a wild card profile was matching instead of the intended one. So, there could be some Xcode confusion around the installed provProfs. The fact that you had no issues with Xcode 8 but do with Xcode 9 might explain that. Changes in Xcode can cause changes in behavior.
If regenerating the provProf and installing it doesn't help, I'd suggest deleting all of your installed mobile provProfs and then reinstalling them. To delete them, open a terminal window and enter
rm ~/Library/MobileDevice/"Provisioning Profiles"/*.mobileprovision
Then go back to the Xcode>Preferences>Accounts and do the "Download Manual Profiles" option to install them again. If it still doesn't work, you're missing something. See the debugging tip below.
Focus on the appID's bundle ID in the Dev portal, the bundle ID of your target, and the provisioning profile you're signing with (making sure it's for an AdHoc build of that appID). At least one of those isn't matching up.
One last debugging tip. Drag the provisioning profile you're signing with to TextEdit (I keep that in my dock for pretty much this reason.) TextEdit will display the information in the provProf, so you can check the entitlements and make sure they match what you're expecting.
Hopefully that's enough to sort this out.
Same issue appeared to me with both Jenkins and my local machine.
Not sure how it got fixed, but below one did the trick.
1: Navigated to build flavour in Target > General
2: Changed the provisioning profile to something else in that build flavour and archived.
3: Then selected back the actual provisioning profile. It worked like a charm.
Might not help in your case, but it worked for me.

"No matching provisioning profiles" when Submitting App to App Store in XCode 7.3

I have been trying to submit an update to my app in the app store and for the past 12 hours. I keep encountering this message in Xcode 7.3.
I have deleted all distribution provisioning profiles, recreated them, remade my app ids, removed them from xcode, re-downloaded them to xcode etc... I keep getting this message. The app is already in the app store. Any suggestions on what I can try? Building the app is easier then submitting the app. Thanks for any assistance
I have this error before and solved it by simple steps:-
1-xCode->Preferences->Accounts choose your Apple developer account-> View Details> right click on provision profiles and choose show in finder and delete all provision profiles.
2-Remove your Developer account.
3-Remove all Certification from Key Chain access.
4-Restart your Mac.
5-Check your certifications and provision profiles in your Apple Developer Account and be sure its working correct.
6-Open your xCode and add your Developer account and be sure that you download all provision profiles.
7-Restart your Mac and open xCode again and push your App to iTunes Connect.
I hope I help you.
I'm not sure if this is the right way for doing it, but I also had this problem when trying to submit an app with a watch kit component. What I did was create different provisioning profiles for each target.
1) The provisioning profile that you already have for your actual app.
2) Provisioning profile for the WatchKit target.
3) Provisioning profile for the WatchKit Extension.
I added all three of these to the Xcode project and went to the Build Settings tab for each target to set the provisioning profile for each target separately. Then I was able to submit my app without any warnings or errors.
Nothing worked for me except the following simple solution. What resolved the issue was manually setting Provisioning Profile for Debug and Release to the appropriate values, as opposed to choosing Automatic (i.e., set values to your development and distribution provisioning profiles) for each of my targets. I did this for the main app, today extension, watchkit extension and watchkit app. After that all works as expected. Thanks for everybody's contribution.

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.*)

Certificates won't show in code signing identity in build settings

I'm encountering the errors:
No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) were found.
and:
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 7.0'
XCode isn't giving me any option other than "Automatic iOS Developer and Distribution" options in the 'Code Signing' area of the 'Build Settings'.
I've tried changing the bundle id to match the certificates exactly, as well as a more generic com.domain.appname ID, I've deleted and recreated the provisioning profiles - I'm really lost, it feels like it should be something really simply but I can't get my certificates to show in the settings.
I was shocked when having the same problem and reading some answers here, too complicated. But I solved this much much simpler.
Open Keychain Access. Delete iPhone Developer and iPhone Distribution certificates, although they are still valid.
Open Apple Developer Centre. Download iOS Development and iOS Distribution certificates again. Yes, I download them again as they are written as XXXX-1.cer
Drag them to Keychain Access to reimport them.
Rerun XCode. Problem solved.
The first thing I would check is that your Cert in Keychain Access is present and is married up to your private key. If it's listed but your private key isn't paired with it you've likely changed your Mac's password recently and instead of pressing "Update Keychain" you may have clicked on "New Keychain". This will require performing the CSR process again and adding that new cert from the portal to the existing prov profiles. (A screenshot here may help).
Next I would make sure that XCode's Organizer is showing your provisioning profiles as valid with a green checkmark. If they aren't valid XCode will tell you why. This could be anything from the missing private key to your cert wasn't added to the profile in the dev portal. (Another screenshot here may help).
If all of that looks good restart XCode. I've had problems with XCode not properly importing prov profiles until I give it a swift kick in the pants via restart.
What worked for me was to create a new iOS Provisioning Profile in apple portal then download and add it to the Organizer in XCode , my scenario was that I was importing the project from another user account and when Titanium was compiling the project had the iOS Provisioning Profile associated from the other user account therefore was crashing, so when I was ready to compile in the Run on iOS Device dialog I changed the Provisioning profile to the new one.
As it has been stated before, you need to see the green button (valid profile) in the Provisioning Profiles for your device .
Good luck! it took me two days to fix this!
Ren#ud

submitting app to apple

i have a question regarding submitting app to apple. I have my program written and tested on actual devices. I have a certificate and provision profile set up so i can load it unto my device. However, when i go on the apple official web site to see the steps that i need to take before submitting, it requires me to get a certificate and provisoin profile again? So what do i do? Do i delete my old provisioning profile or what do i do? Confused
You don't need to delete your Developer certificate or mobile-provisions. You do need to request and download a Distribution certificate and a distribution profile before building a submittable app.
The process is kind of confusing at first, but after some time you get used to it:
For distributing the app, you have to have a distribution certificate.
Do not delete your developing certificate. Leave it there ;)
after downbloading and installing the certificate on your Xcode (on organizer), change the signing identity from your project settings (if you have XCode 4, on the navigation menu click on your project main item, then go to build settings and change the signing identity for your project to the distribution profile).
After that you will be able to archive your application (on the product menu from your Xcode).
After archiving, you can test the build and upload it to apple from your Organizer Window...
Hope to have helped!
Best of luck...

Resources