Building iOS App from Organization Account - After App is Transferred to Individual Account


#1

We’ve been successfully able to transfer an app from our company account (enrolled as an Organization in the Apple Developer Program) towards one of our client accounts (enrolled as an Individual in the Apple Developer Program). Hooray!

We (Organization) have been invited as admin to access to the App Store Connect of our client (Individual). Therefore, we can switch to the client account and can manage the app in appstoreconnect.apple.com

The problem comes when we tried to build a new version.

  • When I trigger an iOS build (expo build:ios) and I choose “Expo handles all credentials, you can still provide overrides”. Then, Expo prompts me to “What’s your Apple ID?” and I set our company (Organization) id & pass.
  • Then Expo asks me “Which Team ID to use?”. I don’t have the option available to mark the client (Individual) account, therefore - I mark our company (Organization) account (like I’ve been doing before).

This results in the following error:

[14:31:30] Error while gathering & validating credentials
[14:31:30] Reason: Unexpected response, raw: {
  "responseId": "e8c7c370-4ab3-481f-a8ff-0abe709d4aea",
  "resultCode": 9401,
  "resultString": "An App ID with Identifier 'xxx.xxx.xxx' is not available. Please enter a different string.",
  "userString": "An App ID with Identifier 'xxx.xxx.xxx' is not available. Please enter a different string.",
  "creationTimestamp": "2019-02-04T12:31:30Z",
  "protocolVersion": "QH65B2",
  "userLocale": "en_US",
  "requestUrl": "https://developer.apple.com/services-account/QH65B2/account/ios/identifiers/addAppId.action",
  "httpCode": 200
}

So, my question: Is it possible for me to build the app via our company (Organization) apple id & pass or is it now strictly required the client (Individual) to build the app with his apple id & pass?

If the client manually creates all required certificates and sends them to me, will I be able to build the app via our company (Organization) account?

PS: If we can’t build the app from our company account, that’s a huge pain for us, since our client is non-technical.


#2

Hey @superkalo,

Can you try to run expo build:ios -c to clear the credentials from the account and then remake them on the other?

Cheers,

Adam


#3

@adamjnav, thanks for your input.

Is there a workaround without needing to put the apple credentials from the client (Individual) account?

If we can’t build the app from our company account, that’s a huge pain for us, since our client is non-technical.


#4

Hey @superkalo, I think the command failed because we always check if the app ID exists in the Apple developer portal and try to create it when it doesn’t, even if all the certificates already exist.

I’ve changed this check in expo-cli@2.8.0 and if you install this latest version of Expo CLI, you should now be able to build the app with the existing certificates that exist on your Expo account with expo build:ios. Failing that, you can also run expo build:ios --clear and when asked for the certificates, choose the “I will provide all the credentials and files needed” option which asks you to upload the the distribution certificate, push key and provisioning profile manually.


#5

@fson, thanks for your input too.

I just did that. Updated to expo-cli@2.8.0. I ran expo build:ios -c. Then, I provided all certificates (created from clients account) manually (P12 file, P8 file, Key ID, .mobile provisioning profile).

Now the previous error is gone and the build actually starts. But it fails! :frowning:

Build ID is: c97b9a20-d032-458d-b4cc-2b5e8a48a249. Can you please take a look?


#6

Hey @superkalo - it looks like the error that caused your build to fail is Provisioning profile "MyArtWalk" belongs to team "<redacted>", which does not match the selected team "<redacted>". (You can see the unredacted version of this in your build logs, near the bottom of the “building and signing IPA” section.) Could you make sure that the provisioning profile you’ve uploaded was created with the right Apple Developer team?


#7

@esamelson, thanks for your follow-up.

I don’t quite understand what does “not match the selected team” part means?

Yes, the provisioning profile belongs to the client apple account. That’s correct. However, when I run expo build:ios -c:

  • “What’s your Apple ID?” - I put our company Apple ID and pass (not the client ones, I don’t have access to the client one)
  • “Which team would you like to use?” I mark our company team. I don’t have an option in the list to mark our client (individual) account.
  • … and then I manually upload the P12 file, P8 file, Key ID, .mobile provisioning profile generated from our client Apple account.

Am I doing something wrong?


#8

Sorry for the slow response here @superkalo – we’re looking into this!


#9

Hi @superkalo - it looks like unfortunately this is not possible :disappointed: Admin access on App Store Connect is not enough, you need to have access to the client’s developer account and team, which is only possible if the client is enrolled as an Organization rather than an Individual. Unless your client can upgrade their developer account to an Organization and give you a role in their development team, they’ll need to either supply you with their login credentials or run the build step themselves.

I apologize for misleading you earlier on, and wish Apple’s policy were different in this case! Unfortunately you need to be a member of the development team that created the provisioning profile in order to build and sign the app.


#10

Ah, okay. Thanks for taking the time to check!

Unfortunately, this makes it a bit more complicated than needed, especially for clients which are non-technical. I wish Apple changes this policy anytime soon.