Error: "No identities are available for signing" Xcode 4.3.1 - objective-c

I upgraded my OSX from Snow Leopard to Lion and I downloaded Xcode 4.3.1
Now when I try to validate and publish my app I get the first screenshot.
If I click on Download Identifier button I get the second screenshot.
Any suggest?

I had this same exact error after upgrading my Xcode from 4.2.x? to 4.3.1 via the app store. I did not upgrade my OS or any hardware, and my certificates were only about 2 months old. I has submitted an app update just days before this starting happening and I feel 100% sure that something in the Xcode upgrade caused it to happen.
After a few days fiddling with it by rejecting my developer certificates and updating all the apps and provisions profiles, as well as distribution profiles. I noticed something.. See screen shot.
The certificate that I was signing the app with was in the group "Identities with out Provisioning Profiles" I went back into the developer provisioning portal and downloaded the distribution certificate for my app, and added to my system, then updated the code signing identity with the correct certificate and I was able to get past this issue.
In short this message may suggest, you signed the archive with the wrong certificate. check it and make sure its the one for your app for distribution and it should work.
Happy Programing!

The certificates you created for signing your application are only valid on the machine (+ OS) which you used to create them. They can be migrated to another machine but if you already updated without doing so, I recon that this is not an option anymore. I also don't know what the "Import Developer Profile" button does (I guess it's fairly new) but you could try that out.
If this doesn't do the trick, don't worry. Just log on your ADC account, revoke the old certificates, create new ones and modify your project accordingly. (Just like you did, when you first created them.)

I come to know how to resolve this problem, It is quite simple, you just need to add an additional distribution provision profile in ios developer center.
Log into ios developer center.
Enter ios Provision portal.
Select provision on left column.
Select the Distribution tab on top in details column.
I can't post the screenshot bcd because my reputation is not enough.

In my case it was missing distribution provisioning profile.

I had this problem when we tried to upload an app too. We solved it in a way that I still don't understand completely, but I had an App ID that included some kind of ID in front of it like this: XXXXXXXXXX.com.plexical.start.bask. I put that string in my *-Info.plistfile. After having the problem above, I switched from automatic Code Signing Identity to manual and selected the same Distribution as the automatic one. Then I got a readable error from XCode complaining that the App ID didn't match com.plexical.start.bask:
I proceeded to change the App ID to com.plexical.start.bask in the *-Info.plist file and after that I was able to submit the App. I still don't understand completely why, but it worked for me.

What happened to me was that my Distribution Provision Profile had expired. All I had to do was delete it and create/download a new Distribution Provision Profile. Xcode automatically installed it and went to the next screen.

The validation process does not work with Ad-hoc profiles. Need to create a Distribution provisioning profile. It is not specified in the instructions for beta testing. I agonized all day until realized.

Maybe your distribution provisioning profile is out-of-date. Just open your provisioning profiles here and select one from the list, and click on Edit button from the options. After that download the provisioning profile.

Ok this took some fiddling and I finally got it to work.
The issue was that I created an archive and then renamed my project. This is a big no no apparently (which makes sense) which I didn't realize at the time.
I noticed that the bundle identifier in the archive was different from the one that was in the general settings.
If this combination happens to you, simply delete the archive you created and create a new one. This will at least be your first step at cleaning up the issue.

These steps solved it for me (some of them are in the answers above):
Update to Xcode 5.0.1 (current version); otherwise Xcode crashed when pressing "Cancel"
Update of my "Distribution iOS Provisioning Profile" in the Developer Center because mine were outdated.
Xcode > Preferences > Accounts > Apple IDs > > View Details:
The list below in the popup was outdated
==> Select iOS Distribution and press "+" (I don't remember what Magic happened then, however the list was actual after that)
As in the answer above:
In Xcode go to the Build Setting and search for "code signing" and:
Change the "Code Signing Identity" for "Distribution" and "Release" to "iPhone Distribution"
Change the "Provisioning Profile" for "Distribution" and "Release" to (I could not find it before doing step 4)
I was very glad that I didn't have to revoke everything in the Developer Portal.
My announcement to Apple: Please, make this process much more easier and bugfree! It's such a hassle that costs me hours every time you force me to update to a new MacOS, Xcode, iTunes, iOS in order to keep my software running!

Related

Why do I need to keep re-enabled Accessibility for my mac whenever I compile a new version?

I have a macOS application that uses CGEventPostToPSN to send keyboard commands to TextEdit.
Whenever I compile a new version of the app, I'm unable to send keyboard commands.
I have to go into System Preferences -> Security -> Accessibility, then remove and re-add my application.
Every time I compile a new version.
Is there some way to circumvent this during development?
Yes, I worked on a project with this same problem. We never got around to doing it (disclaimer!), but our working theory was that if we enrolled in the Apple Developer Program and signed our development macOS builds with a Developer ID certificate, this problem will go away.
(The thinking was that it was probably Gatekeeper not being able to link one build to the next since there was no shared certificate for continuity.)
Note: This doesn't mean you have to distribute in the macOS App Store. You might look into notarization though.

Cannot select latest uploaded version to add to testflight

I cannot select the latest version I have uploaded to seed to beta in external testing. First of all whenever I upload a build two version appearing, that have upload time difference of 5 to 15 minutes between them. One of them gets changed from processing to normal available state, but other does not. But now selecting the available build also selects the processing one and my selection is blocked and I cannot select the OK button because probably my selection is blocked by the processing one. I think it is UI frontend issue at itunesconnect side but it could be something I am doing wrong. Please help me if anyone has been able to tackle this issue if they faced. Please see checkout the attached image.
Update:
I Included <key>ITSAppUsesNonExemptEncryption</key><false/> in my subsequent builds that I uploaded according to the new Export compliance message on the iTunes Connect home page. I am still facing the issue. I have contacted Apple Dev support, will keep you updated if I find a solution.
The issue has been mysteriously solved by uploading the application from Application Loader with Aspera turned off instead of using Xcode's organizer window as suggested by Apple Developer support. Make sure you add: <key>ITSAppUsesNonExemptEncryption</key><false/> in your info.plist file before archiving the build. Although mysteriously my previously uploaded builds have also become available for external testing.
Body of email that helped solve the issue:
After further research, it looks like their may be an issue from your
end with your network while trying to upload to this app record in
iTunes Connect.
First, for the best upload experience make sure that all ports and IP
addresses are accessible. Additionally, it’s important to make sure
the internet connection is very good, and that there are no firewalls
blocking the uploads. More information can be found here:
http://help.apple.com/itc/apploader/#/itc8e7ec5a60
Second, it may be beneficial to try using the latest version of
Application Loader. Please note that you can export your project from
Xcode to upload through Application Loader. As a temporary workaround,
once you have Application Loader open, you can go to the File menus
and select the following:
Application Loader > Preferences
Then, select Advanced, and as a temporary workaround you can try
deselecting Aspera and upload the build again. You can follow the
steps below to use the latest version of Application Loader.
Download the latest version of Xcode from the Mac App Store:
-http://help.apple.com/itc/apploader/#/itc8e7ec5a60
Open the latest version of Xcode
Go to the File menu and select Xcode > Open Developer Tool > Application Loader
Lastly, try uploading again to see if the issue persists.
Hello my dear friend there,
I am also having your issue yesterday, I have this similar screen with yours:
The build is duplicated which one of them are processing forever until today.
My personal problem solving was:
Increase my build number in Xcode so that I can reupload my build
Rearchive the build then export for iOS App Store Deployment in Xcode Organizer
Reupload the build using Application Loader
Then try to reconfigure the build in iTunes Connect. For a while it is processing like usual, but it will not take forever, after one hour, the build will be available for testing.
Hope my personal troubleshooting can be applied to your issue too.

Xcode 5: Code signing entitlement errors

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!

Code Sign error: The identity 'iPhone Distribution:' doesn't match any valid, non-expired certificate/private key pair.. Any solutions?

I'm in the process of writing and deployment of my first iOS application. When I tried to build release build (flavour) of my project for real iOS device (I select Release in project schema and choose Products->Archive). I got an error as in the question title. Trying googling I found that it's a very popular error and only on stackoverflow there are nearly four threads for it. But trying to follow advices listed there changed nothing.
I tried to change certificate keys preferences (code signing identity) in the Targets->Build Settings in different ways. I also tried to change them directly via xcodebuild. Eventualy, I've tried all the combinations (developer/distribution). May be this settings even don't relate to this problem - i don't know.
So the question is there some exact solution for this problem?
I had the same issue when I upgraded to xcode 4.5 iOS 6. Just go to organizer and select profiles and when you see your distribution click on it and remove it. Then try to refresh. It will connect to developer site and download your current distribution profile. Then when trying to choose your profile in your project you can see the new set of profiles which will work. Just make sure your distribution profile is current. That should so it.
Adrian
Found another esoteric thing that needs to be checked if you're still getting this error after having tried everything. Make sure the code signing selections under TARGETS->Build Settings isn't overriding what you've set for code signing in PROJECT->Build Settings.
This error came up for me because I did not have scheme setup in debug mode.
Option Click on the run button pops upa window in which you should be selecting 'Debug' for "Build Configuration".

A valid provisioning profile matching the application's Identifier '' could not be found

Hello all I am new to the Xcode etc... I made a app now I am trying to distribute it ad-hoc I paid for the enterprise license, I see this is a problem with other people I just am too new to find out what to change. A valid provisioning profile matching the application's Identifier '4R7B8RY6Z1.com.LaneBob' could not be found is the error I created a provisioning profile '4R7B8RY6Z1.com.LaneBob.*' what do I change in the code or Xcode to fix this so I can build it? I am building to archive not to a device so I am not sure what to do.
Thanks for any help!
EDIT
I have checked these places:
1) info.plist
Make sure that your Bundle identifier matches what you have in your Provisioning portal. It should have what you entered online, not the yourcompanyname stuff.
2) Your target
Right click on your build target and select "get info". And then under the Build tab, find the Code Signing section. There should be one item that says Code Signing Identity. This is where you pick which signing identity to sign with and you want to make sure it matches the intended provisioning profile. If you don't see your provisioning profile listed, you didn't install it correctly. Your provisioning profile needs to be installed on the device for it to run, and in Xcode so it can sign the app with the provisioning profile.
Still not working
I had the same error message when I was trying to build an app on my iPhone. Everything seemed to be in order, I.e. the certificates were all valid and present and so on, but I just couldn't get it to work.
I just couldn't find the option "iOS team provisioning profile" in Project > Build Settings > Code Signing > Code Signing Identity - this was the main clue to a solution. If you can't see that option there, check your Xcode Organizer.
Inside it, go to Library > Provisioning Profiles:
Now what you should see if everything were right is this:
But if on the other hand you see an empty list, click the Refresh button in the lower right corner of the Organizer:
After said procedure, Xcode started churning out wonderful messages of "adding" and "finishing" and then my app appeared on my iPhone. The End.
Good luck!
For your two points:
1) You should have com.LaneBob.yourappName in the info.plist file. For Ad-hoc distribution you can't have 'generic' names with wildcard characters. You don't need the beginning HASH part (4R7B8RY6Z1. in your case)
2)You pick code signing identity in XCode target preferences. 'LEFT' click on project, then go to the target of your app. Inside there, there are 'code signing identity' for different configurations. When you build and archive you typically build release mode and use distribution certificate.
All this can not solve your problem if you don't have provisioning profile installed in your mac. Just download it from the portal and double click on it to install it. Also with newer XCode you can just download all provisioning portals from organizer, by entering the user/password there.
Incidentally, I found you need to restart xcode sometimes to 'get' the keychain updates.
Hope it helps!
In my case, I had to first BUILD the app with Cmd-B.
This popped up a keychain window access asking me to "Allow" (or "Always Allow") Xcode to access the keychain.
Only THEN could I actually run the program to launch it on my iPhone.
Apparently, hitting only run didn't do the trick.
(Btw, remember to first sign your app with the "iPhone Developer: Your Name ()" key.