ERROR ITMS-90161:"Invalid Provisioning Profile
I have created IPA using Xamarin IOS in ad-hoc mode and selected a adhoc provisioning profile. but while uploading, following error annoying me :(
when I uploaded using application loader:
ERROR ITMS-90161:"Invalid Provisioning Profile.The provisioning profile included in the bundle x.x.x.x[Payload/x.x.x.app] is invalid.[Missing code-signing certificate.] For more information,visit the iOS developer Portal."
If you get this error, you probably don't have the correct type of Provisioning Profile. There's a few types of Provisioning Profiles, most notably are the "Development" and "Distribution" profiles. I suggest looking at your provisioning profiles, and if necessary recreate them.
To elaborate: You have 1 Certificate (created via Xcode Certificate Generating). With this Certificate, you can create an "App Identifier", and Provisioning Profiles. You can use the same Certificate for both a Developer Provisioning Profile and a Distribution Provisioning Profile. They don't work with one another, meaning a Developer Provisioning Profile won't work for a release build, and a Distribution Provisioning Profile won't work for a debugg build.
Try this, and see if that helps. Be sure to haul the new profiles in Xcode (or any other method you'd use) and edit your project's settings.
Good luck!
Love and regards,
Björn
My issue was related to having Xcode Automatically manage signing. What finally fixed the issue for me was going into the developer portal, selecting Certificates, and revoking the Distribution Managed certificate. I then rebuilt my project in Xcode, keeping the checkmark enabled to Automatically manage signing, and a new Distribution Managed certificate was automatically created in the developer portal under certificates. Distributing the archive to the App Store no longer produced any errors.
This issue also came up in other projects where I manually manage the Provisioning Profile. What worked for me was doing the following on the developer.apple.com portal:
Revoke the existing Distribution Certificate linked to the app's provisioning profile.
Issue a new Apple Distribution Certificate.
Link the new certificate to the app's provisioning profile.
Make sure to select the correct provisioning profile for your app's target in Xcode.
While de3z1e's solution seems to work for most people, it did not work for me. What did work was creating an Apple Distribution cert when using XCode settings. While Xcode is open,
Go to preferences (Command + ,) -> Accounts -> Choose your team -> Manage certificates -> + (bottom left) -> Apple Distribution -> Re-archive + upload
I am not sure why the other solution did not work for me, but this did. I also have Xcode manual signing on and left it on.
For Distribution:
If you upload to Test Flight you need an Apple Store provisioning Profile.
If you are distributing to specific devices, you need Ad hoc provisioning profile.
You assign it in visual studio through Manual Provisioning, choosing an Apple Distribution Identity, and choosing your provisioning profile manualy - nothing in automatic.
If you like me could not find your newly created provisioning profile to appear in visual studio, make sure the bundile indetifier in info.plist is the same as used in the provisioning profile.
If you are white-labeling as per xam-girls blog, other copies of info.plist is not looked at by visual studio iOS Bundle Signing
I faced same problem. I edited profiles, it works.
Click edit button all provisioning profiles and save it. Download and use edited profiles. App will upload to store.
Related
I'm a novice Flutter developer. I just completed my first app. I've managed to get it published to the Google Play Store internal testing process. I'm attempting the same for iOS and macOS and TestFlight but I'm getting stuck when I try to upload for Distribution. The error is a mismatch in the code signed versus the provisioning profile. I've retraced and retried my steps multiple times, but I'm stuck.
Anyone willing to help me?
Thanks in advance,
JT
If you get this error, you probably don't have the correct type of Provisioning Profile. There's a few types of Provisioning Profiles, most notably are the "Development" and "Distribution" profiles. I suggest looking at your provisioning profiles, and if necessary recreate them.
To elaborate: You have 1 Certificate (created via Xcode Certificate Generating). With this Certificate, you can create an "App Identifier", and Provisioning Profiles. You can use the same Certificate for both a Developer Provisioning Profile and a Distribution Provisioning Profile. They don't work with one another, meaning a Developer Provisioning Profile won't work for a release build, and a Distribution Provisioning Profile won't work for a debugg build.
Try this, and see if that helps. Be sure to haul the new profiles in Xcode (or any other method you'd use) and edit your project's settings.
Error Code-90161 Invalid provisioning profile
By mistake I removed the existing developer provisioning profile. So I am trying to create a new developer provisioning profile but each time it is showing ineligible.
Role of my user in the team is agent. App id, adhoc, and distribution provisioning profiles are created under that team with my ID which is working fine. I downloaded all developer and distribution certificates also. But in my keychain I found private key missing for the developer certificate but present for distribution certificate.
At the time of creation of the developer provisioning profile I am selecting all the available signing certificate and all the device ids. In my Xcode project when I am trying to select the developer provisioning profile, which is showing ineligible, I am getting the error message:
"Provisioning profile 'dev_provisioning_profile' doesn't include signing certificate 'iPhone Developer:'. No certificate matching 'iPhone Developer: ' for team 'team_name'.
What should I do to create valid developer provisioning profile?
Finally solved the issue. Just writing the steps. Not so sure that these are the exact steps but worked for me, may be helpful to others-
Delete the developer certificate that does not have a private key.
Then first check then uncheck the Automatically manage signing option in the project settings with selecting team.
Select provisioning profile in the project settings.
Delete the provisioning profile from machine.
Sign in developer account and edit the provisioning profile selecting all available developer certificates
Download the provisioning profile and add to XCODE.
By following these steps the provisioning profile becomes eligible and working fine.
You should delete the developer certificate that does not have a private key especially if there are multiple instances with the same identity. Also an easy way to solve this may be to uncheck then check the Automatically manage signing option in the project settings.
We are two devs working on the same ios project, using same developer id. When one of us runs app on device, xcode offers to fix a certificate issue. After agree, xcode kills all existing certificates and invalidates provisioning profiles. This kills each other provisioning profiles.
Steps to Reproduce:
1. Create developer certificate and provisioning profile.
2. Share it with other developer.
3. Create new profile by xcode when it says "there is no profile to run on device" (and gets "Fix issue" button).
Expected Results:
Previously created provisioning profiles and developer certificates should remain valid.
Actual Results:
It invalidates existing developer certificates and provisioning profiles.
Version:
xcode 7.1
How we can fix this issue?
Never use the "Fix issue" button is one of the best tips given by this article : http://blog.jaredsinclair.com/post/116436789850/follow-these-guidelines-and-never-struggle-with).
Instead learn how to manage provisioning profiles:
1/ Connect to your member center from http://developer.apple.com
2/ Generate a developer certificate, you will have to share the private key with your other developer to use the same account (or you could invite him if you had an entreprise account)
3/ Register your device UDIDs
4/ Generate a development provisioning profile
5/ Configure your project to use this provisioning profile and developer certificate
6/ Build and run on your devices (and never struggle again with provisioning with provisioning profiles!)
Here is all the documentation you need: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
Hope that helps.
Cyril
When i try to archive me app in Xcode, it gives me an error that i don't have a provisioning profile. how do i get one. i have an IOS Development account.
I tried to upload a distribution certificate, but it did not work. why?
The Error says...
XCode attempted to locate or generate matching signing assets and failed to do so because of the following issues.
you account already had a valid IOS Distribution certificate
visit member center or import developer profile.
There are certificates and there are profiles, they are two different things. It sounds like you have a distribution certificate. Go to the developer portal, and then go the the identities, certificates, and profiles.
Profiles will be at the bottom. You need a distribution profile for your app id. Distribution profiles are then signed by distribution certificates. It is pretty straightforward. Once you create the profile, download it and double click it to add it to your library.
I am having issues trying to achieve or even build a release build of an app I am working on. Whenever I try to build the app for release I get an error saying:
No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) were found.
I have the cert for this profile on my computer but in the Developer Portal I only have a certificate for development. Is this causing this error to occur? Do I need to have a Distribution cert to be able to build for release? Any help would be appreciated.
Note: I am a developer(team member) for a company so I do not have direct access to the Apple Developer Portal.
I know provisioning profiles are a pain :) This is what I do to stay organize and develop/distribute my projects:
The developer portal (not xcode) contains the most accurate source of profiles. For example, imagine you created a merchant certificate, turned on apple pay, and then generated a provisioning profile. Then let's say you decide you no longer want to use apple pay - the act of turning it off actually invalidates the provisioning profile. You will see a yellow "invalid" warning in the developer portal, but the provisioning profile may still be available in xcode! Really annoying. So I would always make sure that your provisioning profile is valid in the developer profile before distributing an app.
In the developer portal, always make sure you have two distribution profiles -- one ad hoc to use with testflight, and one to distribute to the apple store. You should also have one developer profile to build and debug your code.
Once you have your profiles set up, go into xcode and refresh the provisioning profiles as described here: https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html#//apple_ref/doc/uid/TP40012582-CH30-SW26. I.e. go to preferences, accounts, view details..., and click the refresh button on the bottom left hand corner.
Now that xcode's provisioning profiles are updated, you need to now code sign with the right profiles. To do so, go into your project settings, and go into build settings for both the project and the target. Under debug, select your iOS development certificate. Under release, select your iOS distribution certificate. Under provisioning profile, you will want to select your development profile just to build on your device and debug, your ad hoc distribution profile if you want to archive the project and send it via testflight, or your apple store distribution profile if you want to archive the project and submit it to the apple store.
A few things to note, is that when you are creating the provisioning profiles, you need to specify the certificate you are dealing with. So if you are creating one of the two distribution profiles, you will need to select your iOS distribution certificate. And when you select ad hoc distribution, will need to select the devices that you want to be able to distribute too. Testflight will help you register the devices that you want to distribute to, and once registered, you will be able to select those devices to add them to the provisioning profile. If the certificate you select in xcode was not used to generate the provisioning profile you selected in xcode, then you will probably get the error you mentioned. Think of the provisioning profile as the link from you as a developer (i.e. your certificate) and/or your devices to your app id (i.e. your project).