views:

1496

answers:

3

Hello, I have a company iphone dev account.

According to the doc, only the team-agent is allowed to submit a distribution cert and download the distribution provisioning profile.

  1. Can a team only have 1 Team Agent?

Also, if that is the case, is there a way around this to allow multiple devs the option to build a distributed version of the app?

I have another developer who I would like to build and submit the app to itunes. I tried giving him the distribution cert and distribution profile. When he dragged and dropped them into xcode, and checked out windows->organize, it complains

"assigning identity matching this profile cannot be found in your keychain"

So this leads me to believe I need to get my key chain credentials on his machine. I tried exporting a private key and giving it to him, but he was unable to install it.

Is there anything else I can do?

I honestly thing its really silly if apple expects one developer to be responsible for building all apps for a company. Hopefully I'm wrong and there is a way to get multiple developers access to building a distribution of an app.

Thank you

A: 

You definitely should be able to build your app with a distribution certificate and profile on your coworker's machine.

Are you sure that the distribution certificate and provisioning profile are installed correctly? If you can build apps with the development certificate but not the deployment one, check to make sure that everything's properly installed in the keychain and that the correct provisioning profile is selected in the settings for the active target.

Ben Alpert
+1  A: 

You can copy the private key in this way, but it's really UNSAFE:

Give him your login.keychain file (located in ~/Library/Keychains/), and let him open it with Keychain.app, and ask him to drag your private key to his login.keychain.

Apple also said you should keep your private key secured, if you need to reinstall your system, make sure you backup the login.keychain file.

digdog
+1  A: 

This is how I got it working.

1) Login to the iOS Provisioning Portal as the Agent.

2) Run through the process of making the Distribution Certificate Signing Request / Provisioning Profile: http://developer.apple.com/iphone/manage/distribution/index.action. These instructions a re super long, but pretty clear and necessary.

3) Pay extra attention to the section "Obtaining your iOS Distribution Certificate" > "Saving your Private Key and Transferring to Other Systems" on that page. It describes how to generate and save the Agent's .p12 file.

4) Now invite other developer(s) to be part of the team in the Member Center: https://developer.apple.com/membercenter/index.action#invitations

5) Back in the iOS Provisioning Portal, download the app's Distribution Certificate (Certificates > Distribution (tab)). Should be named "distribution_identity.cer"

6) Now download the Distribution Provisioning Profile (Provisioning > Distribution (tab)). Should be named "whatever_you_named_it.mobileprovision"

7) Email those two files along with the Agent's .p12 file to your other developer machine.

8) On the developer's machine, double-click the distribution_identity.cer file and it should load up in Keychain Access

9) Drag the .p12 file to Keychain and it should automatically put the identity under the certificate

10) Drag the whatever_you_named_it.mobileprovision file into XCode.

11) In each of the Project and Build's Info windows, set the Code Signing Identity to the "iPhone Distribution - Your Company" identity which should now be available.

Hope that helps. Rob

rob5408