Additional Information: http://dev.mlsdigital.net/posts/how-to-resign-an-ios-app-from-external-developers/
##Table of Contents
- Prepare the Local Computer
- Prepare the Developer Account
- Prepare iTunes Connect
- Publish The Application
This document outlines the process of publishing an application to the Apple App Store.
A team agent is legally responsible for the team and acts as the primary contact with Apple. The team agent has access to iTunes Connect to submit applications to the app store.
A team admin can create and approve certificates, provisioning profiles and add devices. A team admin cannot submit applications to the app store.
A team member cannot create certificates or add devices. Certificates must be approved by a team administrator as well as the app id and push notification certificate.
Navigate to the iOS Dev Center (developer.apple.com) and direct to the “Member Center” in the upper navigation bar.
Login with your Apple ID. Once in the Member Center, click on the “People” tab in the upper left corner.
Click "Invitations" in the side bar, and then click the "Invite Person" button.
Fill out the invitation to add the team member.
The level of access you give to the developer determines the amount of work that they can do without needing approval from the team agent (or other team admin). See above section on roles, or further information by clicking the "iOS Developer Program Roles Overview" link.
Login to the iOS Dev Center (developer.apple.com), and download the latest version of XCode. (or download from the Mac App Store)
Launch the application 'Keychain Access' in /Applications/Utilities
From the menu, click Keychain Access->Certificate Assistant->Request a Certificate from a Certificate Authority...
Inside the Certificate Assistant, enter your email address, your name, keep 'CA Email Address' blank. Also, choose that request be 'Saved to Disk'.
Click 'continue' and save the CSR file somewhere handy.
Navigate to the iOS Provisioning Portal by clicking the link on the right hand side:
Here is where you will setup the developer account.
If the 3rd party developer was added as an administrator, skip next 2 sections, go to Create Distribution Certificate
(ONLY NEEDED DEVELOPER ADDED AS NON-ADMIN)
Navigate to the App Ids section by clicking the link in the left side:
Click the '+' button.
For the description, enter something that clearly indentifies this application. You will choose this from a list later, so don't make it to generic. Leave the Seed Id as 'Use Team Id'. The bundle id should be provided to you by the developer.
Click 'Continue' and confirm the settings on the following page.
(ONLY NEEDED DEVELOPER ADDED AS NON-ADMIN)
After creating the app id, you will be redirected back to the list of app ids. Click on the list item corresponding to the newly created app id, and click 'Settings'. scroll down the page to the section with the newly created app id, and click ‘configure’.
Scroll down to 'Push Notifications' and click 'Create Certificate...'
Follow the instructions for creating a push notification certificate. This involves uploading a certificate signing request file, which was created above. Once the push certificate is created, download it and double click it to load it into the keychain. Keychain Access should automatically open.
With the 'iOS Push Services' certificate hilighted in Keychain Access. From the 'File' menu, choose 'Export Items'.
Make sure to export it as a .p12 file. Send this file to your developer.
In order to submit an application, a distribution certificate needs to be created. This certificate needs to be created by the person doing the submission to the app store or the signing won't work correctly. The team agent is the only team member with access to iTunes Connect, so the team agent needs to be the one that creates the distribution certificate.
On the main page of the portal, under 'Certificates', choose 'Distribution'
On the following page, make sure 'App Store and Ad Hoc' is selected as the type of certificate.
Follow the instructions to upload the certificate signing request created earlier. Once the certificate is created, download it and double click it to load it into the keychain. (This process is very similar to creating the Push Certificate above.)
Back in the provisioning portal, navigate to the Distribution Provisioning section by clicking the link in the left side.
Click on the '+' button in the top right corner to add a new Provisioning Profile
Choose ‘App Store’ as the type.
Follow the instructions to create the profile. Choose the application ID you created in the beginning and then select the certificate you created above. Give your profile a name, and finally, download the newly created profile. Double click the profile to load it into the Xcode Organizer. You will know if the process worked if you have a green checkmark in the status next to the profile.
Log in to iTunes Connect (itunesconnect.apple.com). The developer will provide you with the information you need to enter, as shown in the following video.
https://dl.dropbox.com/u/2836123/DEMOVIDEO_iTunesConnect_AppSetup.mp4
After your application is built, the developer will send an .xarchive file. Double click the .xarchive file to load it into the XCode organizer.
Choose the .xarchive and click ‘Distribute’.
Select the ‘Submit to App Store’ option. Login using your agent credentials. Choose the distribution provisioning profile that was created above, to re-sign the xarchive for distribution.
If there were no errors during upload, the application should be flipped to ‘waiting for review’ in iTunes Connect.