iPhone: Can a dev other than team agent build an app for distribution

Solution 1:

NOTE: This process is heavily simplified in XCode 4 (although not personally tested by me) with importing and exporting of developer profiles through the Organizer window (Developer Profile section).

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

Solution 2:

Just another tutorial step by step, but slightly different, the certificates have been already installed in the team's agent keychain, so it explains how to export the .p12 files from the keychain:

how-to-share-an-ios-distribution-certificate

Solution 3:

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.

Solution 4:

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.