开发者

iPhone AppStore Build : Code signing problem

I have been using your knowledge that you share on stack overflow through my various Google Searches regarding iPhone development. Thank you for the same.

But now I need your active help. Well I have been trying to create a final build for an application that my company is developing for a third party client. I have submitted ad hoc distribution to this client using my companies iPhone Program Portal ID and they work fine.

Now the client wanted开发者_如何学运维 to submit the application to AppStore. Naturally the application should be signed with iPhone Program Portal ID of the client's company.

So the client created a admin team member account for me and requested a certificate and approved it myself. Downloaded it. And installed it in Keychain Access under “login” keychain (which is default keychain) by double clicking on it.

After that I created a App ID. And then I went on to create an AppStore Distribution Provisioning Profile. Here I found out that Some how under Provisioning Profiles I was getting the 'Development' tab but not the 'Distribution' Tab.

So finally the client shared his login credentials for iPhone Program Portal ID using which I created a AppStore Distribution Provisioning Profile. After that I downloaded the provisioning profile and placed it under '/Library/MobileDevice/Provisioning Profiles'

Then under the build properties I tried to assign this provisioning profile as the code signing identity it gave me error:

profile doesn't match any valid certificate/private key pair in default keychain

After this I created downloaded the clients development as well as the distribution certificates and added them to the “login” (which is set as default keychain)

After that I created a new AppID and Provisioning Profile by using the clients acount and tried to sign the code using this new Provisioning Profile. But it still gave me error:

profile doesn't match any valid certificate/private key pair in default keychain

Can anybody please explain me what can be the problem? Is it because the provisioning profile is created using Clients Certificate and since I have only the certificate but not the private key for that certificate it is giving me error?

Or to rephrase the question

Is it necessary that to create an AppStore build the Certificate, the App Id and the Provisioning Profile should be created using the same account and the Keychain on the Mac being used to create the build must contain both the certificate as well as the original Private Key for the certificate?

All the replies are much appreciated.

Regards,

Pritam Barhate.


It sounds like you have imported your client's certificates but NOT their private key. You need the private key as well as the certificate to sign the application. For security reasons the private key is never uploaded to the Apple Portal, so you won't be able to get it from there.

You can check if you have the private key by selecting Certificates on the left in Keychain Access. You should now see a triangle on the left of your client's distribution certificate. Pressing the triangle should expand showing the private key associated with that certificate. If there is no triangle then you don't have the private key.


You need to regenerate the client's distribution certificate using a .certSigningRequest you create on your own machine (as with requesting any other certificate for the iPhone developer program), then recreate their distribution provisioning profile using that certificate.


I can't begin to tell you how many times I've rebuilt my entire keychain from scratch. Having expired entries broke things, changing machines broke things, you get the idea. I suggest going back to the step by step instructions Apple provides on the page you got the SDK from. Very few people can publish apps -- you'll need to do everything as if you were the group leader.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜