xcode uploading to app store - No matching provisioning profiles found - ios

I am having difficulty with uploading my app to the app store, I get the error "Failed to locate or generate matching signing assets: No matching provisioning profiles found for..." I'm not quite sure what this error means or how to fix it. I am somewhat new to xcode and the app store uploading process.
To my knowledge I've created everything necessary on the developer website to upload an app, and non of my certificated have expired. I've done some research and read other posts but so far everything others have suggested has not worked for me.
Hopefully I'm making a simple beginner's error that can be easily corrected.

It shows the actual reason in the error message you posted your matching profiles do not contain the same entitlements as your app says is requesting.
Check your Project -> Capabilities and see which are set to on. Then on your provisioning portal check that your app has the same capabilities set.
If you don't need those capabilities simply turn them off and you should be able to build. If you do then you will need to set them up in the relevant App IDs on the provisioning portal. Identifiers-> App Ids -> app -> Edit
Some of these changes will require you to regenerate your provisioning profiles which you can do by clicking edit and then re-generating from the provisioning profiles section of your apple developer account.

Related

No matching provisioning profiles found (None of the valid provisioning profiles allowed the specified entitlements)

I am getting an error when archiving:
Code Sign error: No matching provisioning profiles found: None of the valid provisioning profiles allowed the specified entitlements: com.apple.developer.in-app-payments.
I added apple pay capability since the last time I archived successfully, so it's probably to do with that. How do I add the entitlements to the provisioning profile? The whole certificates/provisioning profiles/app id concept is so confusing, wondering if there are any good reads (for dummies) on exactly what/why/how these work.
You need to go to developer.apple.com and log in as your developer account. Go to the Certificates, Identifiers, and Profiles section, and find the app ID for your app. Click on it to expend the capabilities for the app ID. Make sure In App Purchases is enabled for both development and distribution (more info here).
Once you've made sure it is there, you'll want to re-generate the provisioning profile for the app ID, and then re-download the profile to your Mac. I tend to remove all my old provisioning profiles when I do this, since having multiple profiles for the same application ID can sometimes confuse Xcode. Provisioning profiles on your Mac are stored in /Library/MobileDevice/Provisioning Profiles/
After doing this, it isn't necessary, but I usually recommend devs to quit and relaunch Xcode.
As for resources, I think Apple's session, What's New in Code Signing, from WWDC 2016 was a great one for understanding the components that are required for code signing to work.
The whole certificates/provisioning profiles/app id concept is so confusing
Not only for you :). You don't have to add entitlements to your provisioning profiles. Try to go to apple developer website add your mac (if you didn't do it already) and generate new provisioning profile. After that download it and click 2 times (xCode should automatically add it to the project). If it doesnt solve the problem try to look into project structure code and change developer/project numbers manually to proper one.

ERROR ITMS-90046: "Invalid Code Signing Entitlements." using custom applinks

I've tried to upload application to apple store using Application Loader include Associated Domains in application entitlements but I have an error:
ERROR ITMS-90046: "Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, value 'applinks:http://XXX.internal/' for key 'com.apple.developer.associated-domains' in 'Payload/MyApp.app/MyApp' is not supported."
I use distribution certificate
I have checked to ON in Associated Domains in App Ids in apple developer
I have created provisioning profile using app ids (with enabled Associated Domains) and distribution certificate
What can be the problem? I've tried recreate of all certificates, provisioning profiles etc.
I have solved this issue.
My problem was that I wrote wrong domain name. I had before:
applinks: http://something.com
and now I have:
applinks:something.com
And it's working great.
Go to xcode preferences.Accounts. Select your developer account and double click on the team name in the right. You will see all the provisioning profiles there, select anyone and show in finder. Now delete all these files and move to trash.
Now delete your account from the xocde. Quit xcode.
Now reopen xcode and go to preferences and add your developer account. Download all profiles from here.
Now re-try to build. Let me know if it works.
For anyone else stumbling across this, the problem is actually in your app ID so just deleting your provisioning profiles won't solve anything. Here's how to fix it:
1. Login into your apple developer account
2. Choose certificates and provisioning
3. Click on App ID
4. Click on the edit button for that App ID
5. Turn off Associated Domains
6. Save
This will invalidate your existing provisioning profiles so click over to Provisioning Profiles and you'll see the little icons showing the old ones are now invalid. Delete those. Generate new ones, download those and rebuild your app.
Problem solved.
I had the same problem when check
app id Push Notifications Disabled and project ON Notifications Im off Notifcation The problem was solved
Turning Associated Domains in capabilities off and then back on solved it for me.

Entitlements mismatch error - where to get details?

I've got the infamous
The executable was signed with invalid entitlements
error, and there have been other questions about it, but the message doesn't seem t have enough detail to fix it, or to explain the cause. It says
The entitlements specified in your application’s Code Signing
Entitlements file do not match those specified in your provisioning
profile
but which entitlements file, and which provisioning profile?
My app was fine, it's on the store, but one day I got this error and am completely stuck ever since. I don't know what I did!
My app has a main iOS app, a Now app, a watch kit app, and a watch kit extension, each with an entitlements file (I use an application group to share data). All the files have the same content. And of course, each of these targets have build settings with a code signing section. The provisioning profile is set to automatic on these. But which profile is it using?
Over time, various provisioning profiles have built up, some made by me, some made by XCode. I've got "XC" prefix ones for each target made by XCode, "iOS Team Provisioning Profile" ones, and ones I created and named. So I don't know which profiles are being used. When I set specific ones, it doesn't seem to help.
Finally when you look in the profiles, they say enabled services are "App Groups, Game Center, In-App Purchase", the first is necessary, the latter two aren't but seem to be automatic.
So. Where can I look for details about what is being matched against what, and what to change to fix this? It seems this error frustrates many, I hope Apple can add some details to this error. For example, didn't XCode, when you set the code signing settings to "Automatic" used to add which one it was using, like "Automatic (myapp development profile)"?
In your General if your bundle identifier and signing identity(Debug) and signing identity(Release) contains different provisioning profile then you get this error so make sure you have entered the same provisioning profile on both the places and always check yes to Automatically manage sigining

Issues changing from wildcard to explicit app ID

I have an iOS app with four targets (iOS App, WatchKit App, WatchKit Extension, custom framework), that I want to publish for in-house usage.
Since wildcard app IDs cannot be used for in-house apps, I created four new explicit App IDs.
I also created four new provisioning profiles, where I selected the "In House" option and the new App IDs.
Then I downloaded the new provisioning profiles to XCode and configured them in my Build Settings, for each target.
I also already executed the Clean-task, deleted my Derived Data-folder and deleted / re-downloaded all provisioning profiles multiple times.
The problem is: I still get the error
"Wildcard App IDs cannot be used to create In House provisioning profiles. Please use an Explicit App ID."
when I click the Upload to App Store button or try to export the archive.
What am I missing here or what else can I try?
Please ask if you need any further information or clarification.
(I already posted this in the Apple developer forums. But since it got very few views and no answers there, I decided to crosspost.)
I got the same error message about Wildcard App IDs when trying to export.
When searching for a solution I found this: https://stackoverflow.com/a/35400712 about Apple Worldwide Developer Relations Certificate Authority certificate being expired.
Checking my certificate and seeing it was expired I followed the directions and downloaded a new certificate: https://developer.apple.com/certificationauthority/AppleWWDRCA.cer.
After removing the old certificate I was able to proceed with the export.
I had the same issue. I resolved it by importing another provisioning profile for development, in addition to the one I had imported before for release.

Certificates and Provisioning Profiles for Push Notifications

I'm having trouble with the process. I have got push notifications working for Development. I have read multiple guides and questions, and for some reason - either their guides are deprecated in iOS 8 or my Xcode is bugged - I am having issues with provisioning profiles.
For the purposes of this question, I have generalized most of the terms for privacy concerns.
I'm currently greeted with the bug - Failed to code sign "App". There is a Fix Issue button, but I made sure I did not click that; I'm afraid it'll only complicate my problems.
I've followed the Parse iOS Notifications Guide and configured my app according to the guide. I've done the following:
Requested a certificateSigningRequest from Keychain Access
Created a new App ID in iTunes Connect, with a new bundle identifier. I made sure I went into my info.plist in my app to change and match the new App ID created in iTunes Connect.
Using the new App ID in iTunes Connect, I created the Production SSL Certificate.
Installed it to my KeyChain Access, and exported it to upload to Parse.
Next, I deal with the Provision profile. Once again, I went in iTunes Connect, created a new provisioning profile, made sure to link the correct bundle ID with it, and downloaded it.
Here comes the part that may have fudged up the process. In the Parse Notifications Guide, they instructed users to double click the downloaded file - in my case, it was called "AdHocDistribution.mobileprovisioning", which will install itself into Xcode.
Download the generated provisioning profile from the next screen by selecting the "Download" button.
Install the profile by double-clicking on the downloaded file.
This should open Xcode's Organizer in the Devices pane. Your new provisioning profile should appear in the Provisioning Profiles section of your Library. Make sure that the status for this profile is "Valid profile". If the profile is invalid, make sure that your developer certificate is installed in your Keychain.
Double clicking the mobileprovisioning file did not lead to any discernable feedback telling me that it was installed.
Finally, I modified the code signing fields in my project and target's build settings to match the one I downloaded.
Finally, I try running the app, and the error popped up. Please help!
Create a provisioning profile of the application using ADHOC from dev account.Download and control drag it to Xcode, Under provisioning profile in your screenshot select that.
Do the same for Target and project and you will be good to go!
P.S. also select the Team as your dev account
Please follow the following steps..
Check all your targets's Code signing Section. Like Project and Test Target.
Check the project "identifier" in all your .Plist file.
Add the account in Xcode Account section, by choose from :
XCode-> Preference - > Account -> click on +sign and add your apple developer account.
Hope it will help you.

Resources