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)
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:
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.
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/).
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
Login with your customers developer account in Xcode which would allow Xcode to automatically manage the certificates. (Requires from your client to trust you)
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).
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.
Related
Am developing applications for my customers I want to publish multiple apps for multi customer but I want to share all apps under my account with single certificate or customers accounts but i want to use single certificate for it, in future I need to update all apps with same time. I don't know how its possible. Please give some ideas. Apple store.
You have to used the cerificate for the app which is confugird in an Apple developer account.
You can create a single (dev. or production) certificate from an apple developer account. And using that ceritificate you can create provisioning profiles to distribute or debug the app.
As per my understading of your problem, You will have different client account for different apps. So you can not merge things into one. As apple developer account are separate to each other. you can not club into one. So the app publish from a account can be manage from that account only.
What you can do is if the client is signed up as an organisation then you can invite yourself as a developer into that apple developer account. In that way you can have the access to your client's account.
I bought an apple developer account and I'm trying to add a user as admin and grant access to Certificates, Identifiers & Profiles. But the checkbox is disabled I'm unable to tick it.
I think you have created Apple Developer account as Individual.
To Add other user as Admin with (Certificate, Identifiers & Profiles) access you just need to change your Apple Developer account from Individual to Company / Organisation and then you will be able to grant above access to your added users.
TL;DR:
You need to enrol on the Apple developer program as an organization, and to do this,
you need to be legally registered as an organized, because
you need your "DUNS" number.
Organization account required
Your apple developer account must be an organization to have other developers added via App Store Connect to create their provisioning profiles. It doesn't cost more, it just requires more information / setup.
As per the apple documentation:
Note: If you’re enrolled as an individual and add users in App Store Connect, users receive access only to your content in App Store Connect and are not considered part of your team in the Apple Developer Program.
and
Management of users and roles is done in App Store Connect.
Therefore, you have to be an organization. This does not cost anything extra.
As everyone else, I found Kuldeep's answer useful, but wanted more official documentation.
Although another apple page under "Enrolling in the Apple Developer Program as an individual" says:
If you're an individual or sole proprietor/single-person business, follow these steps to enroll
Company registration required
I called the Apple support team, and the mentioned that they do migrations to Organization accounts for sole proprieters all the time.
You can "try" to find your organization on the DUNS lookup page with valid details. If it doesn't succeed in finding it, it can submit for you.
However, a few days after I submitted the form, I was not given a DUNS number. Instead, I got a reply saying no business exists for this organization. This concludes that you need a business registration. You can see the email at Applying for DUNS Number: 'Apple Tracking Number' and 'Purpose'.
After being on the phone with Apple support, I gave them some constructive feedback: we should have a "team" account, not just "Individual" and "Organization".
Same issue here,
Client add me as as Admin in Appstore, but they missed to give access for
Access to Certificates, Identifiers & Profiles
Once they give Admin access then need to give access for
Access to Certificates, Identifiers & Profiles
Or else they delete your account and add it again, that time give access for all.
The details about all the access and user roles are explained at https://developer.apple.com/support/roles/
I have built an app which client wants to be tested using Apple Test Flight. Client bought individual license, therefore he can not connect me as a team member, he can only add me in iTunes connect as an App Manager.
So is there a possibility to archive app on my computer and then upload it for the Test Flight, I mean can I do it instead of client or since client have an individual license only he needs to do it himself?
I had the same situation and client didn't want to provide me his credentials. The only option was to connect to my mac using TeamViewer or ScreenHero and he could input the credentials once (without saving them in the browser).
Then I followed these amazing tutorial.
After completing all the steps of the tutorial I logged out. Basically, everything was done in 1 session. Make sure you keep that account used since it may log you out due to being idle.
Hope it helps.
If you are an 'App Manager' the client must have provided you with the credentials. You have limited access, but you CAN archive your app with App Manager role.
Please check this User Roles document by apple to get an idea about user roles.
What you have to do is, ask your client to send Certificates, Keys and Provision profiles which are needed to build the app.
For testing on the device - Developer certificate(.cer), Key (.p12) and password for the key, Development Provision Profile
For production purposes - Production certificate(.cer), Key (.p12) and password for the key, Production Provision Profile
Or else ask client to export Developer Profile (.developerprofile) from his machine.
Install these on you machine by double clicking and providing the received passwords where it’s needed.
Login to the Apple Developer Account with given user credentials.
And archive using production certificates. Once the Organizer window prompted select ‘Upload to App Store’. Once you are asked to select the team select ‘use local signing assets’. Once the process completed you will be able to upload it to the App Store.
I was approached to build an iOS app for a company. What would be the best way to go about this when developing and managing the project?
Would I publish this under my developer profile?
Should they create their own developer profile and have them give me the credentials?
Should we get a developer account and be members of a team?
Yes!! Client needs to create their own Apple Developer Account for current and future applications.
They needs to have paid account to publish App on store. Meanwhile either they can add you as developer or share the original credentials with your so you can sign the application with development and distribution certificates for Notification and publish.
It's a one time JOB, but trust me best option for You and your Client as well.
Here is your start.
id go with option 2 .... definitely not 1 so that they 'own' the final outcome and also you want to keep your account free of external dependencies
There are three ways you can go about release an app for client:
Release the app on your account and have a written agreement between yourself and the client to forward profits from the app to the client.
Ask them to give your Apple ID access to their account so you can upload it to their account (they shouldn't really give you their credentials for security reasons.
Upload the app to your account and once its gone through the review process you can then transfer ownership of the app from your account to theirs. (Documentation here)
I have a developer how created an app for me to be deployed in AppStore. He said that he needs my user id and password to complete the deployment and I don't want to give that.
I created an email and created an apple ID for him . I login to https://itunesconnect.apple.com using my existing account and added this new apple id under Users and Roles and gave him Technical role.
Is this enough for him to deploy applications to AppStore under my account or is there any extra configuration?
Note:
My existing account joined the apple developer program
The new apple id didn't join the apple developer program
I am not a technical guy but I want the developer to deploy the app under my account without giving him the ID and password
Yes, Technical role is enough to deploy.
Source from apple docs:
Managing Your App in iTunes Connect - Developer - Apple
The technical role grants the ability to edit the app information
stored in iTunes Connect and to view test accounts for certain app
services. The technical role also grants permission to upload a binary
to iTunes Connect and submit an app to App Review.