Obviously, the simplest solution would be for the client to share their account details or add us as ‘team admin’, but that is not what this is about.
- Add us to your iOS Developer Program as ‘team member’.
- Create a ‘Distribution Certificate’, if you haven’t got one already.
- Create a ‘App Store Distribution Provisioning Profile’.
- Export the ‘Distribution Certificate’ assets and send the export and password to us. (For security sake, it’s a good idea to send us the password via other means than the exported certificate. E.g. by phone/SMS.)
- Ensure all relevant contracts have been signed.
- Create the application record in iTunes Connect. Ensure that the app record status in iTunes Connect is ‘Waiting for Upload’.
Yes, AFAIK only the agent can upload the binary. This is in my opinion very annoying as most clients I've worked for, do not have the technical skills needed. It's always "solved" by using the clients credentials and handling it for them ... but I really dislike it. I'd love to hear if there's a better solution to this.