Implementing APN's, get valid signing identity not found when install development profile? - iphone

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.

Related

Create provisioning file for Push Notification

I want my App to support Push Notification, and I do as below:
Generate CSR file
Create an App ID and enable Push Notification
Create Development SSL Certificate for the App ID, using CSR file created in step 1
Create Provisioning file
The problem is, in step 4, I cannot select the certificate created in step 3. Is there anything wrong in my steps?
Thanks.
No you can't select push SSL Certificate while creating provisioning profile. Just select developer Or Distribution certificate.
Upload push SSL certificate in server that provide push service...ex: parse, arban airship. Its optional.
You can't select the SSL certificate just because you don't have to.
The provisioning profile is not related to the push certificate, but to the App ID, that's where you have set your app to use the APN service.
The SSL certificate must be uploaded on your server so it can be identified as your app server when making calls to Apple. You just need to download it, open it in your keychain and then usually export it and upload it on your server.
It's quite simple, just be sure to sign your app with a development provisioning profile when you are using a development push certificate on your server (making calls to apple sandbox server), and a distribution profile when you are using a production certificate.
If you are still getting problems take a look at this guide, it's from quickblox, but the part related to the Apple portal it's the same independently form the server or the service you are using to generate notification and it's really well explained.
follow this it might help you,
http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12
I also followed all the tutorials mentioned above. I had the same issue with 'step 4'.
What I found out is that I cannot create a provisioning profile manually (using THE certificate). It automatically generates it for me once my Xcode 5 synchronizes with my AppId which was created by myself. So I would like to suggest that you wait a few minutes after you pressing the 'fix issue' button from the general tab. (BTW, I am new to IOS developer.)

Valid Signing identity Not Found in Xcode

Actually i developed an app using my own developer certificates and provisioning profile.
Now i need to publish it on my client developer account and my client sent his distribution certificate along with provisioning .And I have installed the certificate and then i drag the provisioning profile to xcode, and i have got error message like "Valid signing identity not found"
Please assits me.
Change code sign in project settings.
You need the private keys that were used to sign the certificate. If you don't have them
anymore you can generate a new signing request.
You need p12 file from your client to use its developer certificate and provisioning profile.When your client provide you that p12 file than double click that file and its run perfectly.
And for geting p12 file ,select the cert, and open the arrow to also select the private key and export them together as a .p12 file from Keychain Access.
There are several ways to solve this issue.
The first one is, to export your developer certificate including the associated key from your keychain and importing it on your client machine.
The other way would be (If your client machine would use another apple dev account) to go through those steps listed here Apple Certification & Provisioning
I would recommend to delete the old certificates from xcode, sometimes xcode might lag otherwise

Provisioning Profile Issue

My Apple Certificate had expired. So i went in the Developer's Provisioning Area and Revoked My certificate. I deleted my old certificate, and old provisioning profiles.
Upon notification from my Team Lead. I downloaded the new Developer Certificate to my Mac and Dragged it into KeyChain Access. Now it shows my certificate as valid. I re-downloaded the provisioning profile for my App. and Dragged it into XCode4. The Organizer shows it to be valid but with a warning
XCode Could not find a valid private key/certificate pair for this profile in the keychain.
Have i done something wrong in my approach.
I am able to run my app on the iPAD and debug it too. But i somehow sense an issue in the above statement.
Please Help.
If you didn't recreate the provisioning profile with the new developer certificate (i.e. if you downloaded the old profile) then I think this is the problem - you will need to create a new profile with your new certificate.
You did to get the certificate key/pair from your team leader. Apple does this weird thing where it actually signs it's certificate with a "password" in order to use the certificate you have to have the "password". That's why you get XCode Could not find a valid private key/certificate pair for this profile in the keychain. I had the same thing, you can't just download the new certificate :(. If I can find the documentation of Apple that says how to do this I will post it in an edit.
Ok here is the docs: https://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/10-Configuring_Development_and_Distribution_Assets/identities_and_devices.html#//apple_ref/doc/uid/TP40007959-CH4-SW2
It is under "Provisioning a Device for Development", I Hope this helps!

Apple's Developer Certificate and Provisioning Profile

Can I use someone else's Apple's Developer Certificate and Provisioning Profile to build and run my application on the iPad ? Are the certificates and profiles Machine Specific ?
Actually I am trying to install my friend's dev certificate and it is getting installed but when I am installing the provisioning profile its showing me an yellow warning "
The main question is that The Developer' Certificate and Provisioning profile can be used on different machines or not ?
See the message, "A valid signing identity matching this profile could not be found". You are adding the certificate in your keychain, not the identity(which is a .p12 file containing the private key). From wherever you got the certificate, you should get the private key exported from the keychain rather than exporting only the certificate.
At the end, like BoltClock said, it is violation of Apple's license to use some others' certificate.
"Error: "A valid signing identity
matching this profile could not be
found in your keychain"
Solution: Most likely that you have
not downloaded the necessary WWDR
certificate from the Apple developer
site. There is a link to download this
certificate in the 'Certificates'
section of the developer portal. If
you do have the certificate in your
keychain, make sure that it has not
expired (unlikely, as mine is valid
until 2016). Also make sure that your
developer certificate has not expired
(these seem to be valid for only 12
months at a time)."
http://discussions.apple.com/thread.jspa?threadID=2220082&tstart=0
If you want to run your app on a device then you have to add that device's id to the certificate.

Lost Private Key For iPhone Distribution Certificate. What could be solutions?

I have lost my private key for iPhone Distribution Certificate during an OS upgrade.
Now I want to upload a new iPhone App to the App Store and that requires me to sign the App with an iPhone Distribution Profile/Certificate. Is there any way to create a new iPhone Distribution Certificate. I did not find any "New.." option there on the developer portal.
One more question: must I have to sign the code with an iPhone Distribution Certificate to submit on the App Store? Or can I sign and upload it on the App Store with an iPhone Development certificate?
Thanks In Advance...
Revoke your current certificate, wait a few seconds and refresh the page and you should see a button "Request Certificate". You'll have to follow the Certificate Signing Request instructions again, and upload the .csr file. You'll then have to wait for your Team Administrator (could well be you) to Accept the new certificate before downloading it and installing in your KeyChain.
You'll have to create a new provisioning profile for the App, using the new certificate.
Hope this helps :)
Yes you can have a solution for this
Revoke certificate you have in distribution and get CSR again (it should be from Mac where you need key) and creat new certificate. Once you do this you will have certificate, now go to profile, you will find profile invalid, edit it and take new certificate you created and regenerate again. Download certificate and profile and use in code and you are good to go