I've just made an iPhone app which includes Three20 library. I have no problem with building & running the app on device. I have no error when I build the app for distribution but when I submit the app via ApplicationLoader, I get the error "Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate.". I don't think I have any mistake when building because I have built many apps for distribution with the same distribution certificate & provisioning. I tried with a simple app with Three20 included and I had the same issue. So I guess this kind of error may related to Three20. I also tried to change all projects of Three20 to distribution configuration, configure the same provisioning profile as in my main project, compile all these projects one by one and then build the main project, but ... NO LUCK :(
Private Key
Do you have the private and public keys (both) in your KeyChain (ie. /Applications/Utilities/Keychain Access.app)? Note that the private and public keys are linked to the mobile provisioning profile (distribution) that you use to sign the binary in Xcode for app distribution. You need the mobile provisioning profile and private key for code signing.
Also, the private key is tied to your user account on the Mac. I believe the private key may be invalidated if you change your account name or reinstall the OS. Make sure you sign with they haven't expired (or revoked).
Certificate Authority
Make sure you have the Apple Worldwide Developer Relations Certification Authority in your Keychain and the cert hasn't expired.
Related
I want to ask about distributing IPA in an enterprise program. What have I done:
1. Create a new certificate and private key (the type is ios distribution)
2. upload the certificate in the account for the apple company program website
3. archive my application with xcode 11
4. download renewed apple WWDR certificate
When I want to distribute IPA in enterprise mode, I get an error: "my company has one IOS Distribution certificate but the private key is not installed. Contact the author of this certificate for a copy of the private key. But actually the computer used to create the certificate and the one used to upload the ipa enterprise are the same (in the keychain already exist).
Can anyone help me with my problem or any suggestion ? Thank you in advance before.
Does you app BitCode = NO, if you can change that to YES, then there's another choice Automatic manage signing, which can distribute app success.
It's maybe a apple bug, not sure yet.
The solution is :
Create a provisioning profile
Link profile with certificate
Add a profile name
Re-upload your application by manual signing and select the profile you created earlier (note : the solution still not possible to auto mode)
I developed an iOS (the swift based) application for my client. I have enrolled Apple developer program and my client have different one too. My client want from me the Xcode archive, which he can publish on AppStore (he need to re sign with his certificates). He send me his provisioning profile, but I'm unable to generate the Xcode archive. It fails with:
No signing certificate "iOS Distribution" found: No "iOS Distribution" signing certificate matching team ID "XXXXXXX" with a private key was found.
I also tried to disable code signing in iOS SKD but this is not helping.
How can i solve this problem?
Your client needs to send you his iOS Distribution Certificate (exported from Keychain with his private key) and then you can archive from your xcode.
If he don't know how to do that, he can simply give you access to his Apple developer account (a limited developer access is enough) and then you can generate the iOS Distribution certificate by yourself.
I solve this problem as is written above. Client made me part of his team. So I can set provisioning and signing certificate from his team. Now I was able to generate Xcode archive and send him to my client.
For APN's i'm following raywenderlich tutorial from here
i already have developer certificate installed in xcode, when i create AppId and configure it to push notification and create certificate(SSL) it adds a development certificate under certificate section..it's Ok.when i go to create provisioning profile it shows me only one certificate to choose(not newly created APN certificate). i created profile with that certificate but whenever i go to install it, it say "valid signing identity not found".
Please note that I've installed both iOS Development and APNs Development iOS certificates in xcode. I've searched similar question on stackoverfllow but still no luck.What I'm doing wrong?
I'm not sure what you are doing wrong. But here is the general procedure:
Go to developer.apple.com and login
Go to Certificates, Identifiers and profiles
Create a certificates for iOS app development and APNS. For creating a certificate you need to upload a CSR (use Keychain Access to do this) from your Mac. Once you upload the CSR from your Mac, download the App and APNS certificates to your machine - If you don't upload the CSR from your machine, you will get a valid signing identity not found error.
Points to remember:
When creating APNS certificate, chooose the appropriate App ID. By choosing wrong ID push notifications wont work.
When creating the provisioning profile, choose the App certificate you created in the above steps.
Thats the gist, you should be able to figure out things I missed by following on screen instructions.
I got the solution private key(.p12 file) was missing in keychain.
There are several similar questions here, but none could answer my basic question:
Is it possible to have two separate developer certificates in the keychain and two corresponding distribution profiles in Organizer?
I have my own (working) developer certificate and provisioning profile for my own iPhone apps.
Now I finished a project for a client and would like to use his developer account/certificates/provisioning profiles to submit his app to the app store on his account.
Is that even possible?
So far I downloaded and installed his certificates and they show up in my keychain, and I installed his provisioning profile in Organizer, but Organizer tells me "A valid signing identity matching this profile could not be found in your keychain.".
Likewise, the archive build fails.
I couldn't find a way to tell Organizer to use the certificate of my client instead of my own-I think this is the problem.
Thanks for any help!
Yes I've produced app store builds of projects for clients several times using their distribution certificate. No need to use their developer certificate. There are many things can could go wrong here, if you have access to the client's account you can go on to the provisioning portal and check things out:
make sure the bundle ID in the project settings exactly matches the app ID on the iOS provisioning portal (com.company.appname usually)
make sure the app store distribution provisioning profile is marked as "valid" and shows up under the distribution certificate.
make sure the app store build config in xcode references the client's distribution cert.
open your keychain and make sure that the client distribution cert also has its accompanying private key. This may be the problem, it's the part usually left out. The client must export his private key for his dist cert and send it to you in the .p12 file along with the password to the .p12 file. The dist cert can't be used to sign the app without the private key!
sometimes just quitting Xcode and restarting it helps.
See this solution to duplicate certificates: http://tapadoo.com/2012/certificates-magically-re-appearing-in-your-keychain-try-this/
The gist is that if you have an old private key and provisioning profile around, you can run into a case where Xcode will re-create an old certificate in your keychain. This will make code signing gag because it requires a single certificate with a given name. Deleting the old private key will resolve this issue.
EASY MODE
(I hate these archaic export errors so bad. So many hours wasted. I'm not religious but I still pray this helps you)
Log into https://developer.apple.com
go to Certificates, Identifiers & Profiles
bottom left: Provisioning Profiles
Delete any duplicates / invalid profiles (in my case I only had one but it was invalid)
Note: if you're trying to export an archive, you can leave the export window open, delete a provisioning profile, then click "retry" or whatever the button says. This will save you from have to re-archive over and over
#xcode8.2.1 #osx10.11.6
In Developer program portal,
I created a developer certificate. I registered for my iPhone deice. And registered an App ID (In App Purchase enabled). I created a provisioning profile using the created certificate and app id details.
I followed the procedure that Apple said and created it.
I downloaded the provisioning profile and installed on Xcode and on the device.
I tried to install my application on my jailbroken iPhone device( i did jailbroken already) using the provisioning profile which i downloaded, but it throws an error as 'this provisioning profile does not have a valid signature or it has a valid but untrusted signature(or it has a valid but untrusted signature)'.
Can some one advise me what is wrong here and how to resolve it?
NOT YET RESOLVED WITH THE SUGGESTIONS PROVIDED UPTO NOW. ANY HELP PLEASE?
Martin/
I had the very same issue although I set up provisioning, entitlements etc. correctly.
One cause of the error is described in http://www.onidev.com/2010/01/12/the-application-does-not-have-a-valid-signature/
Certain folder names may not be used in your app bundle. Check especially your "Copy files" build phases.
It seems this correlates with typical Apple app bundle names.
Unallowed folder names include (but are probably not limited to):
resources
contents
Renaming my folder from contents to myContents solved the problem for me.
Did you add the developer certificate and the corresponding private key to your keychain?
Not only do you have to add your own certificate (iPhone Developer: Johny Appleseed) you must also add Apple's Certificate Assigning Authority to your local keychain as well.
EDIT:
The certificate section in the program portal has the following info:
Downloading and Installing Development
Certificates In the ‘Certificates’ >
’Distribution’ section of the Portal,
control-click the WWDR Intermediate
Certificate link and select “Saved
Linked File to Downloads” to initiate
download of the certificate. On your
local machine, double-click the WWDR
Intermediate certificate to launch
Keychain Access and install. Upon CSR
approval, Team Members and Team Admins
can download their certificates via
the ‘Certificates’ section of the
Program Portal. Click ‘Download’ next
to the certificate name to download
your iPhone Development Certificate to
your local machine. On your local
machine, double-click the downloaded
.cer file to launch Keychain Access
and install your certificate. Team
Members can only download their own
iPhone Development Certificates. Team
Admins have the authority to download
the public certificates of all of
their Team Members. Apple never
receives the private key for a CSR.
The private keys are not available to
anyone except the original key pair
creator and are stored in the system
keychain of that Team Member.
The certificate assigning authority should be something like applewwdrca.cer, there are screen shots and more info in the "How To" section.
EDIT 2:
Read through this Provisioning HowTo carefully (as well as the other HowTo tabs in the program portal), provisioning is a pain in the ass tedious process, if this documentation does not fix your problem then you need to burn one of your free support cards and call Apple because there is a problem with your particular machine. You should have gotten 2 of those support requests when you entered the program, if you used them all you can buy more.