问题
I have some questions and cannot found any resource that clearly answers them all. I am really confused. If someone can answer all my questions I will appreciate What I want to achieve is the following: I am a developer and have a developer account. My client also has one account. He wants to upload to the store using his account. He doesn't want to give me his apple username/password.
My questions are:
- I know that I have to sign the application. Can I sign using my developer certificate? Or should I use my client's one?
- How Can I add my client's developer certificate to my keychain?
- What exactly is the provisioning profile? The client sent me his provisioning profile. Do I need it?
- I tried to add his provisioning profile to xcode organizer and I get a message: Valid signing identity not found. What is that?
- Should I have to create an application on iTunes Connect?
- What should I send to the client? The archive? What else?
- I read that I have to put the Bundler Id in iTunes connect. I can see the following Bundle name in Xcode: ${PRODUCT_NAME}. What should I write in iTunes?
- Step by step, could you give me an overview of what I should do? (i.e. download a certificate, sign release, create archive, create application on itunes, etc etc)
If someone can answer my 8 question, I will greatly appreciate.
回答1:
I know that I have to sign the application. Can I sign using my developer certificate? Or should I use my client's one?
A: To submit to App Store for Client, it has to be signed with Client's distribution certificate. For debugging purpose it doesn't matter whose developer certificate you use (given your keychain has required keys)
How Can I add my client's developer certificate to my keychain?
A: Ask your client to export his certificate from Xcode organizer, Library -> Developer Profile -> Export. Then import it onto your Mac.
What exactly is the provisioning profile? The client sent me his provisioning profile. Do I need it?
A: Provisioning profile contains information like list of devices where the app(s) can be installed. Contains Application identifier, certificate used to create it. If you go to Portal you will see the same. Application signed with a provisioning profile would install only on so many devices listed in that provisioning profile(exception enterprise apps don't have limit on number of devices). Using iPhone Configuration Utility you can enable device restrictions like passcode lock, ability to install/delete apps, pre configure wifi, etc. Client sending his provisioning profile for what ? If he expects you to sign apps using Provisioning profile then its no good. You need certificate in your Keychain to be able to sign apps on your mac.
I tried to add his provisioning profile to xcode organizer and I get a message: Valid signing identity not found. What is that?
A: Because your keychain doesn't have valid certificate used to create that provisioning profile.
Should I have to create an application on iTunes Connect?
A: I don't understand your question. Consider rephrasing it.
What should I send to the client? The archive? What else?
A: Depends on what client wants to do. Just code sign the ipa then send ipa. If he wants to compile code himself then send him code. Rephrase question.
I read that I have to put the Bundler Id in iTunes connect. I can see the following Bundle name in Xcode: ${PRODUCT_NAME}. What should I write in iTunes?
A: Bundle Identifier is something like com.companyname.appname As far as ${PRODUCT_NAME} search for PRODUCT_NAME in your Build Settings it should be Under packaging section. Default name is Project Name.
Step by step, could you give me an overview of what I should do? (i.e. download a certificate, sign release, create archive, create application on itunes, etc etc)
回答2:
For 2 and 3)
You will need to Request a certificate from a Certificate Authority, This involves generating the request in Keychain Assistant, and submitting it to apple under the clients developer account (this is outlined in IOS Dev Portal) This will allow you to download a certificate which you double-click to load into keychain.
Then you can create a Provisioning profile with their account using the certificate you just created. This new profile should pass code signing on your machine.
Welcome to SO, in general all StackExchange sites prefer 1 question rather than 8
来源:https://stackoverflow.com/questions/8581730/about-apple-certificates-and-distribution