5

Questions:

  • What is the correct procedure here?
  • Do both the developer and account-holder need paid Apple Developer accounts?

    (As said in blow context, My Client already has one, do I need a paid account as well?)

  • How will I ever be able to deploy the app if my customer does not have a business account?

Context:

  • I'm trying to build my first iOS app with Expo.
  • I tried to run expo build:ios and got You have no team associated with your Apple account, cannot proceed.
  • I have an unpaid Apple ID
  • My customer created a paid developer account of type 'individual'.
  • He added me to his team and gave me the 'Admin' role.
  • The checkbox to give me access to certificates was grayed out. Apparently (according to Stack Overflow) because his account is of type 'individual'
  • I know I am part of a team because I can log in to App Store Connect and manage everything in my customer's account (except certificates).

Expo output:

reto@Retos-Mac-mini test1 % expo build:ios
✔ Choose the build type you would like: › archive

Checking if there is a build in progress...

Accessing credentials for ****** in project test1
✔ Do you have access to the Apple account that will be used for submitting this app to the App Store? … yes

› Log in to your Apple Developer account to continue
✔ Apple ID: … ******
› Restoring session ******
› Session expired Local session
› Using password for ****** from your local Keychain
  Learn more: https://docs.expo.io/distribution/security#keychain
✔ Logged in New session
Authentication with Apple Developer Portal failed!
You have no team associated with your Apple account, cannot proceed.
(Do you have a paid Apple Developer account?)
Error: You have no team associated with your Apple account, cannot proceed.
(Do you have a paid Apple Developer account?)
...

Outcome

Based on all the answers, I will:

  • not create another paid account
  • customer will change his Apple ID password and give me complete access to his Apple Developer account
  • use customer's Apple Developer account to run expo-cli build:ios and let expo handle all the certificate and profile generation (which I have never done before).
  • maybe export all the necessary certificates and keys so I can give back control of the Apple ID and still deploy in the future (hopefully)
Top-Master
  • 7,611
  • 5
  • 39
  • 71
Reto Höhener
  • 5,419
  • 4
  • 39
  • 79

2 Answers2

6

Individual Apple developer accounts are ineligible of adding an additional member who has access to certificates, identifiers and provisioning profiles.


Choose one of below few options:

  1. Tell your customer to generate and send you provisioning profile (source):

    Provisioning Profiles can be shared without problems between developers. For them to be valid and usable, though, having both Public and Private keys is needed.

    The Public key is stored in the Certificate whilst the Private has to be exported from the certificate's creator Keychain App.

  2. Enroll your own Developer account -> build the app -> publish it -> transfer the app to his account (see requirements at: https://developer.apple.com/programs/enroll/).

  3. Your customer can request to upgrade his membership to an organisation. This requires him to have:

    • A D-U-N-S® number

    Which depending on the process, would take from days to months to get.

    • Legal Entity Status
    • Legal Binding Authority
    • A Website
  4. Login with your customers developer account in Xcode which would allow Xcode to automatically manage the certificates. (Requires from your client to trust you)

  5. Customer can assign you as an account holder for small amount of time until app will be deployed to AppStore. (Also requires from your client to trust you enough).

Top-Master
  • 7,611
  • 5
  • 39
  • 71
Tomas Jablonskis
  • 4,246
  • 4
  • 22
  • 40
3

What is the correct procedure here?

There are few options

  • your customer needs to be registered as an organization not an individual
  • your customer can generate credentials for you on apple developer portal and provide them to you as files
  • your customer can generate credentials by running expo-cli build:ios and authenticating with apple on their account.

Do I also need a paid account?

That wouldn't help, you would be able to build/publish that app under your name, but not as the customer.

Also, if you are working for a client you shouldn't do that on your expo account, instead ask them to create an expo organization and to add you there, or create it for them and provide them with access to that organization, it makes it easier to transfer ownership in the future. Alternatively you could use separate expo account for every client.

Wojciech Kozyra
  • 500
  • 3
  • 3
  • Thank you for your answer, and also for pointing out that I should setup up an expo account for the customer. After all, we started with him being the Apple Developer account holder to avoid transfers in the future. – Reto Höhener Feb 14 '21 at 15:24