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.
Related
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.
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 client with an apple developer account. Its brand new and we are both new to Apple.
He has paid to developer an iphone app.
The developer wants to publish the app directly to the store.
The client does not want to share login details for the account.
What options are there?
I am asking because I know on Google Play Developer console you could invite someone to manage your account (or give them publishing priviledges) by inviting them using their gmail email via the console.
Easiest solution. Tell your client to change his password and give you the new password. Publish the app on iTunes, tell your client to change his password back. If he doesn't trust you enough to give you a half-hour access to his account, why on earth does he trust you to write the app in the first place.
Next easiest solution (assumes you have a paid up account.) You publish the app on your account and mark it so it doesn't automatically go in the store after approval. Once the app is approved, transfer ownership to him. There are a whole bunch of restrictions on this process, including No iCloud, Passbook or in-app purchase subscriptions. For more details, Google "Transferring and Deleting iOS Apps" or see [https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/TransferringAndDeletingApps.html]
Next easiest solution would be to give the customer access to the source and explain to him how to build the app and put it in the store.
-- Addition --
A new solution is available now. The client could give you admin privileges to his appstore (https://appstoreconnect.apple.com) account.
The easiest solution to this funny question is to let your client share his screen with logged in account at iTunes Connect (via Team Viewer for example). You do all your job and it's all.
I've just finished an iOS app. Now I need to publish it to the app store using my client's account. I want to be sure that what I'm about to do is the correct path.
That is:
Create the developer certificate using the client's credentials
Build the app using the new developer certificate
Publish and everything else using the client's account
The only other thing that I thought would be to register myself as a developer on his account. However I think at some point I will need the his account to finishing the process. Is that correct?
You'll need a team agent role to publish the app..
Yes, you will need his account to finish the process and actually sign the App file that you send to Apple.
you need to be a "Admin" type user # the developer portal and on itunesConnect.
With Admin user, you can create all sorts of certificates and provisioning that you may require from developing to deployment of an app from any developer account.
In the current xcode organizer there is Library / Developer Profile. Currently I have a personal developer profile which I would like to keep.
The company that I am working for has their own developer profile that I would also like to use. I have to request a certificate from them. To do this one goes to the Web Site Developer Porthole and usually this is blank and then there is a request button. But when there is one present, there is no button to request.
http://developer.apple.com/ios/manage/certificates/team/index.action
How do I get the request to the company for the other certificate?
You must first be invited to join your company's development team. After accepting the invitation, you'll be prompted to choose a development team whenever you log into developer.apple.com.
So, first create a certificate signing request using Keychain Access, then log into the developer site and choose the company team. Then you can enter the portal and request a certificate. If I remember correctly, you'll then be prompted to upload your certificate signing request.