Submit app to Appstore in the name of my client

Hi, I've been looking for a simple to understand guide how to submit apps to Appstore for my clients, following two scenarios:

  1. client has given me credentials to developer.apple.com account and asked to publish the app (that we created) under his name.
  2. client hasn't given me credentials to developer.apple.com account and wants to receive the app from me and publish it himself.

In both cases, app is developed by me, but I see no problem in making my clients visible as developers.

Many thanks for pointers, Wojciech Kulesza

Replies

Your client should take control of their app, and host it on their own developer account.

They should add you to their Development Team, with the appropriate permissions.
(e.g. to upload the app, create certificates, distribute using TestFlight, etc.)

In very rare cases, you might want to host a client app on your own account.
(I have only done this once, and I don't recommend it.)

Also, bear in mind that transferring apps (e.g. from your account, to a client's account), while possible, can have a long-term effect on your own account.
(You will lose the benefits of Apple's Small Business Program, if you are part of that.)

If they just want you to send them the app:
In this case, you simply send them the app's source (typically as a zipped archive), with all supporting resources and documentation.

Thanks @robnotyou. So to summarize and clarify: for client that gave me access to the developer.apple.com - I can set it up for him and invite myself to developer team with permissions. That will allow me to use that team in the xcode and archive the app and send it to testflight for example. there after testing, we would move it to Appstore and that's it.

for client that wants to do it himself - i don't want to complicate it for them by sending the code (they dont have xcode etc). Can i archive the app and prepare a file (.ipa?) and send that to them ?

for client that gave me access to the developer.apple.com

They must add your Apple Developer ID to their Team (e.g. as "App Manager")

That will allow me to use that team in the xcode

Yes

Can i archive the app and prepare a file (.ipa?) and send that to them

Yes, this is possible (I haven't done it myself).

Can i archive the app and prepare a file (.ipa?) and send that to them

You have to be careful here. There are two cases:

  • If the client is happy to add you to their team with appropriate privileges, you can send them a distribution-signed .ipa and they can upload it using Transporter. That’s a relatively smooth path.

  • If not, a common practice is to send them a development-signed .ipa and have them re-sign it. This is a very rocky road and I recommend against it. A better option is to send them an Xcode archive (.xcarchive) and have them submit from there. They have to install Xcode, but that’s not too hard.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

  • I don't fully understand the first scenario. If we would add external developers to our team, why would they still need to send an app for us to upload. I thought the whole point was that they could then do it themselves. Also, is Apple recommending that we share our distribution certificate, the client is (understandably) very hesitant to do this. Even though it alone is not enough for any malicious party to do harm. It is a layer of security and stripping it seems risky.

  • First option doesn't work. I needed to upload new builds to another individual developers Appstore Connect account. I've been added as an App Manager in that account and then tried to export an ipa file, but Xcode didn't let me do it because the bundle identifier is not registered to my account. Now apparently no one except an account holder can submit new builds. But they still didn’t remove “upload builds” from list of privileges of app manager or developer role. Is that correct?

Add a Comment

"They should add you to their Development Team, with the appropriate permissions."

That is potentially dangerous and companies are not necessarily willing to do that because if the person getting added to the developer team leaves the company they have the ability to logon to the other companies account and do malicious things there.

Also in order to develop/test the app prior to delivery its necessary to also have your iPhone registered with their development portal, if you have a large development team and large test team and a large number of iPhones to register, then registering them all on the other company's account might not be possible.

mungbeans wrote:

That is potentially dangerous and companies are not necessarily willing to do that because if the person getting added to the developer team leaves the company they have the ability to logon to the other companies account and do malicious things there.

I don’t understand the rationale here. If the company severs their relationship with an employee (or contractor), they can remove them from the company’s team. Once they do that, what “malicious things” can the ex-employee do?


ChrisKapinga wrote:

If we would add external developers to our team, why would they still need to send an app for us to upload.

You, as the Account Holder, get to set the role of your team members, and each role has different privileges. See Developer > Support > Articles > Program Roles.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"