iTunes Connect Technical Role Access; Pro & Cons as a Developer - ios

Our company had contracted out an agency to develop an app. We decided to create an apple developer account and got the agency to transfer out the app to our itunes connect once they had completed the development. I had given them access to manage the application throughout our iTunes Connect and gave them role access as 'Technical'
But they had recently requested us to make them Admin so they can manage our provision profiles so when they ship out more updates to us (not sure if this proper reason or them being sketchy). I am hesitant to make this change because they have access to our apps sales and financial reports (as our app generates revenue on initial app purchase)
Is it a safer to leave the role privilege as-is, 'Technical' and I can simply just provide them the provision profile information if its required? As a developer, what is the pros and cons of having 'Technical' role access? Is there any major limitation?

The provisioning profiles are created via http://developer.apple.com/ , not iTunes Connect, and as far as I am concerned there are three levels of access over there: Admin / Member / Agent, and this is managed via separate admin panel, which can be found in 'Member Center'.
With 'Technical' privileges in iTC you can do everything needed to perform updates on your app/adding new apps/sending messages to App Review team. The only thing I found missing when compared to 'Admin' account was ability to generate promo codes (of course except of all the sales / iAD / Newsstand subscribers data stuff)

Related

Difference between Apple Developer Account as Individual and Company/Organization

Is there any difference (e.g. in functionality or anything else) between an Apple Developer Account as Individual and an Apple Developer Account as Company/Organization, except the name in the developers name in the App Store?
1. User access
If you or your client has Organisation account, he can give access to various users (through their email address) without disclosing the credentials of the main account and those users can get access to developer.apple.com too. On the other hand, Individual account do not allow to add any users so one will have to give the main account credentials to developers in order to build an application(create certificates, profile, etc). One can add various users by assigning different roles listed here
Also, 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.
2. Testers
Adding multiple internal testers is possible with organisation program but not with Individual one.
3. Store listing
With individual account, apps are listed with Developer's personal name while in Organisation, they are listed under organisation name. eg Company name LLC

Unable to grant access to Certificates, Identifiers & Profiles

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/

Apple Guideline - Strange rule for publishing app

I work in a App Development company, we've developed and designed an app entirely from scratch, published with our own enterprise account, but Apple reject based on a strange rule:
"Guideline 4.2.6 - Design - Commercialized Templates and App Generation Services
Apps created from a commercialized template or app generation service will be rejected unless they are submitted directly by the provider of the app’s content. These services should not submit apps on behalf of their clients and should offer tools that let their clients create customized, innovative apps that provide unique customer experiences. Another acceptable option for template providers is to create a single binary to host all client content in an aggregated or “picker” model, for example as a restaurant finder app with separate customized entries or pages for each client restaurant, or as an event app with separate entries for each client event."
We're not using any template on app and we are not a mass-app generation company. How can they say we've using templates?
Has anyone have similar problem and can help me with that?
Even though the rejection message is rather generic the main point is:
You can no longer publish apps for 3rd parties under your own developer account. (I assume that you meant organization developer account, because enterprise developer accounts cannot publish on the public App Store)
So as an agency or developer, you can still develop the app for your customer. But once it's ready, your customer will need his/her own developer account. They can invite you to the account and you can upload the app for them. Apple is also pushing organization developer accounts, so it's also no longer possible to publish company apps under individual accounts, even if you work for that company.

Give other people access to my development team in Xcode

I have a "single member" Apple Membership profile, and one of the developers I work with needs access to my development team to test the app he's building on his device (Xcode won't allow him to build the app without one). How can I give him access to the development team without having to give him the login credentials of my account?
As you have a individual account, you don't have any development team on your own and hence cannot invite a collegue in your not existing team. To own a team, your membership's Entity type must be Company / Organization . You can see it at https://developer.apple.com/account/#/membership/.
To update your entity type, you'll have to provide some documents about your company.
At the moment there is no simple procedure in the dashboard as "click this button, upload some documents and magic you're now Company", you'll have to ask directly to Apple support (a colleague have done this for 2 different accounts)
More infos here: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/ManagingYourTeam/ManagingYourTeam.html
If you have registered your account with type Company / Organization, go to manu People and invite a new user.
If you have registered your account as Individual, you are out of luck I think since this type of account is not able to invite users and the People menu entry does not exist.

Adding a developer to an Apple Developer account

I have an Apple Developer iOS Membership. I have hired a developer to write an iOS app for me. They said they don't have their own account so in order for us to test the app using ad-hoc provisioning we'll need to use my account. When I go to invite users into my account from the Member Center I am given 2 options to add this user as, 1) Admin, 2) Member. Is the correct way to give a developer access and which option should I give them? I want to give the least amount of privileges as possible. I don't want them to access any sensitive account information, just allow them to develop the app and allow for testing.
This is the overview of the roles but I am still not sure which is correct
https://developer.apple.com/support/roles/
It depends on what level of involvement you want to have with the project. In order to manage the full development life-cycle for an app you need to create provisioning files, generate certificates for distribution, generate App IDs ect. You can add you developer as a member but in that case many of these functions will have to be done by you as the admin. In the case of certificates (for distribution, push notifications etc) the 'member' can request them but they still need to be approved by an 'admin'.
So, if you want to give the least amount of privileges stick with the 'member option with the understanding that you will need to be involved periodically.
I guess Member is what you should go for.

Resources