today I finally got my Company-Developer-Account. I'm working on an App, first on my private Account and today I wanted to move the App to the company account. So I created a new Bundle-Identifier on developer.apple.com and changed the Bundle-Identifier also in my Xcode-Project. Furthermore, I've added the Account to Xcode, changed Signing to my new Company Account and let Xcode fix the Provisioning-File-Troubles. (In Xcode I see two Team-Members from one Account, one is Agent, the other User. Maybe it's important that I've choose the Agent-Team-Member. Unfortunately I can't change because then I get the error "change to a unique bundle-id, because the bundle-id is already on the Agent-Team?^^) Running with the Simulator works fine, but when I want to test on my Phone I get the following Error: The entitlements specified in your application’s Code Signing Entitlements file are invalid, not permitted, or do not match those specified in your provisioning profile. (0xE8008016).
If I press the I next to the provisioning file, I see the following Entitlements:
And under Entitlements I've just the Push-Notifications enabled. But this was like this before changing Bundle Identifier
I had this same problem and none of the solutions I found on stack overflow, or github worked for me.
Here's my solution:
Select your project in the Project navigator
Select the "General" tab.
To the left of the "General" tab, select your target to the left; (this should show a dropdown with a list of targets)
Below your current target you should see an item {your project}Tests; select that.
Check the signing properties in the general tab and make sure they are valid.
This was the problem for me. Hope it helps.
Xcode 9 GM.
Error appears if manual signing turned on.
Turn on automatic code signing.
Turn off automatic code signing.
You need to go through all the details where your provisional profile and certificate getting set from the main page.
E.g. In all targets - > Build settings -> Code signing identity and provisinign profile and set your correct profiles every where in the application.
sometimes when you are selecting manual codesigning then it is not reflecting correcly in all places.
Try to uninstall your application from your device and then run your app on Xcode , i think that current app that was on your device signed with old account so you cannot run your new app that was assigned with new account , hope to help .
For me, I ended up getting this error when I did not have the private key associated with the certificate that was being used to sign the app. Make sure you open Keychain Access and verify that you have a private key for the certificate that is associated with your provisioning profile.
Related
I'm trying to run an iOS app on my iPhone in xCode. The app is essentially a third party keyboard for iOS, and it was made by a group of friends. They have added me as 'developer' in iTunes connect. When I try to run the app on my iPhone I get the following error:
No provisioning profiles with a valid signing identity (i.e.
certificate and private key pair) matching the bundle identifier
“com.nameofteam.nameofapp.nameofapp-keyboard” were found. Xcode can
attempt to fix this issue. This will reset your code signing and
provisioning settings to recommended values and resolve issues with
signing identities and provisioning profiles.
When I click on 'Fix Issue', it says:
An App ID with Identifier "com.nameofteam.nameofapp.nameofapp-keyboard" is not available. Please enter a different string.
TL;DR Xcode is very particular about the name you give your App ID in the member center. Having the correct bundle identifier is not enough. You must use the specific format shown below for Xcode to "see" your App ID.
#romrom's solution of deleting the App ID and having Xcode create a new one was a clue. Unfortunately it was a nonstarter for me since my App ID was used by a Store app and therefore could not be deleted.
However, I discovered through some experimentation that I could solve the problem by manually editing the exiting App ID. It turns out that Xcode is really picky about the name of the ID, and not just the bundle ID.
For a typical bundle ID such as com.mycompany.appname, the App ID name must be in this format:
XC com mycompany appname
a name in any other format won't be seen by Xcode.
How to check if you're affected / How to Fix
Log in to the Member Center.
Click on "Certificates, Identifiers & Profiles".
One the left-hand navigation bar, click on "App IDs".
Locate the App ID with your bundle identifier.
If that App ID doesn't have the correct name format (as shown above), click on it then click the Edit button.
Change the name and click Done.
Enjoy the reduction in stress and anger.
P.S. There are some related problems if you're using Xcode 7.3 in which it won't automatically create proper distribution profiles for you, even if you fix the name as I mentioned above. The solution is to downgrade to 7.2.1 or 7.3 Beta or use a tool like fastlane/sigh.
Try this,
Add your Apple ID to Accounts preferences in Xcode.
Go to General tab in Project and choose your team name from the Team pop-up menu.
Below the Team pop-up menu, click Fix Issue.
For starters you want to make sure your bundle identifier is exactly the same as the one on iTunes connect otherwise,
since you seem to have the source code it appears the bundle id you are trying to use is already in use, try a different unique identifier.
Also make sure you have your Apple ID connected to Xcode, it can be added in the accounts section of Xcode preferences. You may also need to create a self signing certificate in keychain access.
as stupid as it sounds - make sure your Provisioning Profile is set correctly in the "Build Settings" tab, under "Code Signing" section, and that it matches the Code Signing Identity certificates.
In my case, I had the Ad-Hoc dist & Release provisioning profiles set correctly, but the the DEBUG was set to Automatic.
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.
I've build a new application which is going to support IOS 7. I got the new XCode 5 GM and tried to sign my apps using my fresh provisioning profile and distribution certificate, but i'm having trouble with distribution. I constantly get the following error:
"Invalid Code Signing Entitlements. The entitlements in your app
bundle signature do not match the ones that are contained in the
provisioning profile. According to the provisioning profile, the
bundle contains a key value that is not allowed:
'[XXXX.com.sample.company ]' for the key 'keychain-access-groups".
Also the same error for a key value called application-identifier.
Screenshot of the errror:
The solution lies in the new option in Xcode 5 which says provisioning profile. Just set the project target's provisioning profile to the right one and it'll work.
If you are like me and you think you tried EVERYTHING, archived your project over ten times, banged your head on the keyboard and still get this error. Please do yourself a favor and simply Restart XCode, it worked for me. Sometime Apple... I hate you.
I went through many of the steps above but what finally worked for me was refreshing my profiles in Xcode. Not sure why it was necessary since my app's distribution profile was showing up in the list already. Here are the steps:
Xcode Preferences
Accounts tab
Select your Apple ID
Hit the View Details button in the Apple ID detail panel
Hit the Refresh button in the lower left corner
In my case, i activated the same capabilities in Xcode that in Application services in developer.apple.com. Thats works for me
In my case (sorry) I switched "Team" to "None" in -> General -> Identity
In another case I needed to switch this identity from "None" to the developer account managing the identities and profiles.
Xcode sometimes messes up greatly with code signing, it seems. Or, we mere mortals simply aren't clever enough to understand what it is doing, of course. Don't give up, we're all going through some code signing torture at times!
In my case, I had to set correct Provision Profile for Release, and then had to restart Xcode. Before restarting, it had same provision profile, and didn't work. So, sometimes a restart can do miracles. Maybe this helps somebody.
If someone uses a GameCenter then check this section in your target. I worked with some old project and there were 2 errors (but everything worked fine). Disabling and enabling it back solved this problem.
Most likely this action adds Game Center entitlement to App ID and and handle it itself.
1.Go to project folder, delete *.entitlements files.
2.Then go yo in xcode project target -> build settings -> code signing entitlements - delete values
3.Clean
4.Run
Ah, this glorious error. For me whenever I see this error I check the following things:
1. Allow XCode to access your provisioning profile info all the time - If XCode keeps asking when you start it up to have access to your computer's private files so that it can get provisioning profile information with the options to allow access always, not now, or just one time - set it to ALWAYS ALLOW access
2. If you have any old entitlement files kicking around your project get rid of them and any sign of them - if you see a .entitlements file in your project delete it (or at least remove the reference to it if you aren't sure you are ready to outright delete it), then make sure the 'Code Signing Entitlements' line under the 'Code Signing' section in Build Settings is empty
3. Check your Application Services online and match them up with your Services in XCode for the app - Go to the Apple Member Center and check the App ID for your app, click on the app to see its 'Application Services' and see what you have checked, then go to XCode and check your 'Capabilities' section to make sure the two have the same list of Apple services on both
4. Make sure you assign a valid Provisioning Profile to your app before validating - double check your provisioning profile for your app in the Apple Member Center, make sure it isn't expired, has the right App ID with the correct bundle id and distribution. Download and click on the new provisioning profile to make sure XCode has it, or go to XCode > Preferences > Accounts > click on your account and 'View Details' then click the bottom corner button to Sync all the profiles to XCode. You should have the profile available to select now in the 'Code Signing' section. Once you have the correct provisioning profile then you can set the 'Code Signing Identity' lines to the correct option for that provisioning profile.
Note - if doing a distribution certificate it can help to set all the 'Code Signing Identity' lines to the identity you use for distribution including the debug lines
5. IF ALL ELSE FAILS - Clean your project and Restart XCode and some Apple magic may just work fine the next time you open your project and try to Validate
If you're building an old 3.1.5 project, Xcode 5 has some bugs which unfortunately makes Benjamin's answer impossible, as there are no Provisioning profiles to pick from. After many a late hour of tormented reading of Xcode project files I came up with this solution that worked for me:
In the Utilities pane (to the right) in Xcode 5, under project Document, change from Xcode 3.1-compatible to Xcode 3.2 compatible.
Enter your organization name.
Close project.
Open your project file, e.g. open -a TextEdit path/to/name.xcodeproj/project.pbxproj
Remove the two Distribution clauses (isa=XCBuildConfiguration).
Remove the two accompanying lines in buildConfiguration (one in PBXNativeTarget and one in PBXProject XCConfigurationLists)
Now you're ready to re-open, archive and submit to App store - voilà! It works again!
How I think it works
I assume this works because Apple somewhere along the line decided to drop the need for any separate distribution config, which is a good thing. When I archive, Xcode automatically code signs for distribution. That's the way it should have been implemented in the first place, it's just a shame that Apple can't make auto-migration part of the IDE; instead they force us developers to spend man-decades to make this stuff work.
I have been struggling with this problem for more than a day now, trying all kinds of solutions suggested here and elsewhere on the internet. Nothing worked...
But, I finally managed to solve the problem!
The problem I had was with an old app that I haven't touched in over 3 years, and now I was about to release a long awaited update. Since the time I released the app, Apple has been updating how the certificates and App Id works. They have introduced the concept of Team Id which seems to be recommended to use.
In particular, the Apple's "Certificates, Identifiers & Profiles" site, has seen a lot of changes since then.
There I realized that the Provisioning Profile I was using for App Store Distribution were connected to the App Id ED8xxxxxxx.com.rostsolutions.* but looking at the App Id for the game I was about to submit I notice that the App Id was ATMxxxxxxx.com.rostsolutions.Swisch. So the App Id prefix did not match!
That seemed to be the root of the problem. So what I did was to create a new Provisioning Profile connected to the App Id ATMxxxxxxx.com.rostsolutions.Swisch instead. Using that Provisioning Profile I successfully submitted my app to App Store and now I just keep my fingers crossed that everything else works fine at Apple's side.
(I first tried to connect to new Provisioning profile to the wildcard Id ATMxxxxxxx.com.rostsolutions.* instead, but that didn't seem to work).
But what puzzles me is that when I look at the old App in iTunes Connects and goes to Binary Details, it says that the App Id is ED8xxxxxxx.com.rostsolutions.Swisch. So why is the "Certificates, Identifiers & Profiles" page listing the App Id as ATMxxxxxxx.com.rostsolutions.Swisch?
My problem was solved by removing my Apple ID from Preferences->Accounts and then adding it back again. Then all my provisioning profile files showed up on the View Details utility panel. I was mistakenly choosing "Mac Team Provisioning Profile:*" instead of the actual distribution provisioning profile for the project thinking that it was a generic selection. Provisioning files must be specific to the project. Oh, and BTW, make sure your provisioning profile has the correct entitlements (for example, Maps). I managed to release an app with OSX Maps without the entitlement and Apple approved it -- but no Maps showed up on the production version!
In my case, I had the same problem, my solution was to change the 'Release Provisioning Profile' in the Build Settings before doing Archive. I do this twice, once for App Store distribution, and another one for Ad Hoc distribution. I also add a comment on my archives. My conclusion is that there is something broken about the "archive re-signature".
There is a very good tutorial for solving that problem on this website.
It says that this problem can occur when your Projects Bundle Identifier is different to the one you entered on the iTunes Connect Website.
I think xcode 5 uses "release" instead of "distribution" that you may created yourself.
If all above didn't work (in my case after couple of days no luck trying everything) I have only one Mac application. BE CAREFULL WITH REVOKE!
1) Revoke by hand all "Mac App Distribution" & "Mac Installer Distribution"
2) Clean relevant certificates and open-keys in Keychain (Warning: export before delete)
3) Restart Xcode
4) Go to (in Safari) developer.apple.com -> certificates etc.
5) Create CertificateSigningRequest.certSigningRequest in Keychain->Certificate assistant
6) Create by hand on developer.apple.com both "Mac App Distribution" & "Mac Installer Distribution" with your *.certSigningRequest
7) Provisioning Profiles -> Distribution -> create/fix custom provision for AppStore (I'm specially named it as "Mac provision profile for AppStore"
8) Xcode -> Settings -> Account -> Your account -> Refresh
9) Xcode Clean -> Archive -> Validate
I have been struggling with similar problem (I was building for Ad-Hoc distribution). Only thing that has changed since last successful deploy, was adding two devices to provisioning profile.
After double- and triple- checking all build settings, I regenerated provisioning profile (without changing anything), re-downloaded and it worked fine.
So note to self: if there is no logic explanation, you can always try good old IT voodoo.
I also recommend iPhone Configuration Utility, which despite its name, is useful for checking what provisioning profiles you have on computer.
ERROR ITMS-9000: “This bundle is invalid. New apps and app updates submitted to the App Store must be built with public (GM) versions of XCode 5.1.1 or higher and iOS 7 SDK. Do not submit apps built with beta software.
If multiple developers are using the same member center account. One of them can't use a certificate created by others cause they used a certificate request created using their computers.
You need to use a certificate created by you (certificate request
created using your computer).
Alternative, told them to send you the Developer Profile. not sure of the name. to use a certificate created on another computer.
Code signing Entitlements occur because of your resource does not contain Entitlements file in resources,Just go to build setting and search code signing Entitlements delete entry for debug and release, build project again you will see there is no error. Cheers
I had the same problem, but nothing written here worked for me. However, I found a simple way that worked for me. Here's how to do it:
1) In your Project and your Target(s) build settings, choose "None" for all Provisioning profiles, and choose "Don't Code Sign" for all Code Signing Identities.
2) Now, choose your Target and go to build settings. In Code Signing Identity Release setting, choose "iOS Distribution" for "Any iOS SDK". And then, in Provisioning Profile Release setting, choose your distribution profile for "Any iOS SDK". After that your Code Signing Identity Release setting should automatically change to "iPhone Distribution".
3) Archive your build and validate. Now it should work fine. That's it!
I'm using xcode 6.3
xcode had created a provisioning profile "xxx.xxx.xxx.watchkitextension" automatically, in the code signing of watchkit extension target, I've tried choosing this profile or leaving it Automatic, they all giving me this error "Failed to locate or generate matching signing assets" when I submit it to App Store.
Any ideas? thanks.
This problem looks similar to this question.
Submit WatchKit Provisioning Error
I had the same problem. Here is the solution that worked for me.
Technical Q&A QA1830 The beta-reports-active Entitlement Q: How do I resolve the "beta-reports-active" code signing error? https://developer.apple.com/library/ios/qa/qa1830/_index.html
I had to regenerate the "Distribution" Provisioning Profile that I was using to submit my entire app, before I included the WatchKit extension. Specifically, these steps fixed my problem:
I logged onto developer.apple.com, selected "Certificates, Identifiers & Profiles".
On the Certs IDs & Profiles website > Provisioning Profiles page, click the App Store profile.
Click 'Edit'
Click 'Generate'
Following steps help me out:
1.Make sure "App Groups" in Capabilities page in Container target and Extension target.
2.Goto Xcode > Preferences > Accounts > YOUR_ACCOUNT > View Details ..., CTRL+Click one of the Profiles and open in Finder. Move all Profiles to Trash.
3.Open "App Groups" in Container target and Extension target. Xcode will generate two profiles for you, just like iOSTeam Provisioning Profile: YOURAPPID and iOSTeam Provisioning Profile: YOURAPPID.watchkitextension.
(Make sure your container target and WatchKit App target choose the first one as PP,and your extension target choose the second one).
4.If everything goes well, you can do whatever build, run and submit.
I needed to revoke my certificates (preferences -> accounts). After that XCode offered to recreate them. All fine now. Not sure whether this has unwanted side effects as previous certificates are now invalid.
I had the same error message trying to submit an update to a Watch App that was previously rejected. Since i had previously uploaded, I did not see this error. I used a support incident to get help after exhausting all paths.
I got a response in just 1 or 2 business days -- which at first annoyed me. They said i needed to reset everything to use "team provisioning profiles" and all would be fine. I am an individual developer, so my "team profile" is just mine... but I did walk through all the steps and ta-da, much to my surprise, everything worked and the errors went away. Nothing really to do with any of the application specific or other provisioning profiles i had -- i must have changed a "signing identity" somewhere so Xcode's automatic resolution / fix up did not work.
Apple's message was:
CONVERTING TO TEAM BASED CODE SIGNING
Team-based signing should be used in Xcode 5 and later: it’s the recommended workflow and is what’s covered in App Distribution Guide. Team based code signing requires resetting of all code signing settings in each targets build settings to their defaults. Xcode will no longer use the Code Signing Identity and Provisioning Profile build settings, but instead choose the best combination of signing identities and provisioning profile for the scheme being built.
Technical Q&A QA1814 - Setting up Xcode to automatically manage your provisioning profiles
Which is quite clear and solved all my problems.
I'm trying to submit my iOS app in Xcode6. When I click Submit or Validate in the organizer, a window pops up that says:
Failed to locate or generate matching signing assets:
Xcode attempted to locate or generate matching signing assets and
failed to do so because of the following issues:
No matching provisioning profiles found for "Applications/MyApp.app”
None of the valid provisioning profiles allowed the specified
entitlements: application-identifier, beta-reports-active,
keychain-access-groups.
I have created a distribution provisioning profile for this app in the member center and it appears in Xcode.
I've looked around and have not found anything online that has told me how to fix this. Can anyone help? Thanks.
Andy
There's a couple possibilities for your issue, but the main causes is what I got from experience as well as other SO answers.
Your certificate or profile is outdated, in which case you have to go and regenerate your profiles again. I had this problem before, but Apple has described (partially) this issue.
You haven't set your profile in the Build Settings/Code Signing area, along with the appropriate certificates. Verify your Team in General/Identity and ensure that your profile is properly set.
From Xcode 5: Code signing entitlement errors (The image is a bit outdated, but its the same as Xcode 6):
You are using a beta version of Xcode.
#jaytrixz states: "I just removed Entitlements.plist in Code Signing Entitlements under Build Settings" which could possibly work. Be sure that your provisioning profiles are configured as well.
As jaytrixz, wrote in the comments...
"I just removed Entitlements.plist in Code Signing Entitlements under Build Settings "
I did the same and it worked after an hour of trying other things!
There are a lot of answers here, some have worked for me in the past, but not this time. I'd even created a new provisioning profile but that still did not help.
Based on the "None of the valid provisioning profiles allowed the specified entitlements" part of the error I tried the following on a hunch and it worked for me:
1. add and remove a particular Capability
Go to Targets > Capabilities, and turn one on and then off.
I doubt it matters which you choose, I added "Push Notifications" (which I don't need for my app), once it was "ON", I changed it back to "OFF"
2. Archive again
I am now successfully uploading my app to the store.
Another solution, that fixed this symptom for me, can be found at: Xcode Watchkit: None of the valid provisioning profiles allowed the specified entitlements: beta-reports-active, com.apple.security.application-groups
Briefly: clear ~/Library/MobileDevice/Provisioning Profiles
If you are sure you have valid certificate and provisioning profile, then you may need to do the following:
I would suggest people to refresh the link between xCode and developer account by doing the following:
Go to Xcode -> Preferences -> Account -> View details -> (Refresh icon)
Otherwise you may not be able to see the provisioning profile as an option in the build settings (You may only see old profiles)
A lot of times it gives me connection error, you may need to retry.
Do this refresh every time you edit the provisioning profile or certificate online on apple developer member center
If certificates and build setting are all good, and you are part of multiple teams, make sure to select the proper team for the app.
Clean and archive again.
I had another cause for this problem.
I had 3 different Configurations (Debug, AdHoc, AppStore). I accidentally had the AdHoc Configuration selected in the Archive Scheme setting and tried to upload the generated archive to the AppStore.
So setting the Archive configuration to AppStore solved the problem for me.
It's the year 2017, and the provisions are still not just working. I had to put them on manual mode because automatic didn't worked after struggling half an hour. I have no idea what are those entitlements, i have no entitlements file.
After trying every possible fix in the world, I ended up just adding this to the entitlements file:
<key>beta-reports-active</key>
<true/>
Find the right entitlements file by looking in Targets > Build Settings > Code Signing > Code Signing Entitlements.
Maybe it's something to do with this Apple doc, although I couldn't follow the instructions fully as certain things were missing in XCode 7 (e.g. the refresh icon in Preferences > Accounts).
Another possible cause for this message is if you accidentally did remove the 'target inclusion checkbox' for the entitlement file – in that case the error message is slightly misleading...
In my case, the problem was caused by different Bundle Identifier in Target General tab than in Build Setttings.
If you have only development provisionning profile, just create distribution also
I played with fastlane gym, and there it gave some interesting insights:
There was an error exporting your application Unfortunately the new
Xcode export API is unstable and causes problems on some project You
can temporary use the :use_legacy_build_api option to get the build to
work again
This is the according Bug-Report. Seems to be unfixed for month.
https://openradar.appspot.com/radar?id=4952000420642816
Building the app in legacy mode worked for me.
gym --use_legacy_build_api true
Hope, this helps anyone.
In my entitlement file for Health kit there was development key. I removed that and my problem resolved.
I hope this answer could help :)
There seem to be many possible causes of this error.
In my case, my app was an Enterprise release and I was clicking "Validate" when I should have been heading straight to "Export".
I found this in the Apple docs:
Validate or Submit is not intended to be used with Development, Ad Hoc or Enterprise builds. Ad Hoc or Enterprise distributions should skip straight to Export.
Source: https://developer.apple.com/library/content/qa/qa1830/_index.html
I ran into this issue using App Groups. To resolve, I had to log into developer.apple.com and reassign the App Group ID to my App ID.
If other solutions do not work, try going to XCode -> Preferences -> Accounts -> View Details
Now look in Provisioning Profiles section. If your provisioning profile has an action button of 'Download', click the button and download. Then try again
Create a new provisioning profile
This solution worked for me when I had this problem.
Step by step :
log onto the apple developer portal and go here : https://developer.apple.com/account/ios/profile/production
Click the [+] add button and fill in a new profile name and select your app ID
Click the Download button, and once it has downloaded double click to open that file in Xcode
Re-Archive, and this time you should be able to upload succesfully to the store