upload build into Itunes Connect - ios

I'm using iOS developer account which is not enrolled(not paid) in program. However, I was invited in Itunes Connect to be developer of company account, so my role in Itunes Connect is developer.
Now I need to upload application build into TestFlight on Itunes Connect, but I can't archive it because of missing provisioning profile in xCode for this application. As my account not enrolled I don't have option to generate distribution and development provisioning profiles in developer page. So I requested company manager to provide me: distribution and development profiles. Receiving them I found that they are with .cer extension and XCode don't recognize them. May be thats because there are only valid for Apple ID owner of the creator.
I read all Apple documentation on this topic, but this issue is not covered or I didn't found it.
How can I get provisioning profiles in this situation?
And then upload build into Itunes Connect for app that I'm only developer. Do I need to enroll my developer account? Or company have to invite my in other place?

The .cer only contains the certificate used to sign the binary as the company. It should open in the Keychain Access app, not Xcode. You need to ask the representative to also send you the .p12 file, which would contain the private key for the certificate. Without that private key, you can't build an app as the organization you are working with.
Once you have those, you should be able to log into the Apple developer site and download the provisioning profiles for iOS Development and iOS Distribution. Those should open in Xcode. Once you have all 3 things (the private key, cert, and provisioning profile), you should be able to build the app.

There are four roles you can grant to the users for them to access all the data about specific apps:
1. App Manager: The App Managers can edit all aspects of the apps they
have access to, and can add users to those apps. These users can be
granted limited app access.
2. Developer: The Developer user has access to My Apps and Resources
and Help. They can upload binaries to iTunes Connect and manage
internal TestFlight users. These users can be granted limited app
access.
3. Marketer: The Marketer role is for users who manage marketing
materials and promotional artwork. Users with the Marketing role
will be contacted by the App Store team if an app is chosen to be
featured on the App Store. They can update app metadata and request
promo codes from My Apps. These users can be granted limited app
access.
4. Sales: The Sales role has access to Sales and Trends, and iTunes
Connect for iOS. They can only download the full sales reports if
they also have the Reports role. Sales users can be granted limited
app access.
All of these roles support limited app access, which is the ability to restrict accounts to only view certain apps. Granting Admin or Finance automatically provides the ability to see every app associated with the developer program membership.

Related

app store connect: can't upload build as role developer

I've been added to an apple developer team for developing an app. My apple ID is added to a specific app in the app store connect console with the following roles:
developer
marketing
customer support
I am the only developer for the app, so I need permission to upload builds. When opening xcode, I can't change the Team in Signing & Capabilities to the team I've been added to. I only see my own team.
Do I need extra permissions, and how to fix this?
Edit: both apple developer accounts are individual accounts, not company accounts. Could this be the problem?
You can't upload the app as developer in individual account.You can do that only on enterprise account.

Difference between iTunes Connect accounts/roles and Apple Developer account

I'm very confused by how Apple handles this. Here is my situation:
Im a solo IOS developer with a paid Apple Developer account. I can access iTunes connect and upload apps there, this works fine. I pick "manage signing automatically" in XCode using "IOS Developer" Code Signing identity.
So this works.
An organization Im working for invited me in iTunes connect. So I can create apps for them on them too. Now I have two things on my account there.
How can I upload an app for their account? I cant seem to transfer an existing app and I cant seem to sign it with an identity which matches their profile/account/whatever.
The process appears confusing but actually it isn't. Lets walk through it:
First you create an AppleID. You then use that AppleID to register for a Developer program. Registering to a developer program gives access to two types of accounts. Or rather say that you are provided with the access to two different portals for the same account. One is developer portal and other is iTunes Connect. For background work like registering an AppID, testing devices and managing certificates and profiles you use Developer Portal. For frontend work like creating an app to be published to the AppStore, uploading your build, distributing it for testing you use iTunes Connect portal.
Now if you are being invited by some other organisation in its developer program with the same AppleID, you have two accounts linked to the same AppleID. Now when you login to the developer portal you are logged in to the one account automatically and you can change to the other by selected from a dropdown at the top right. Once you have selected the organisation you then continue working same when you worked previously with a single account.
Here is the screenshot of my developer dashboard with multiple accounts:
Hope this clarifies.
The team agent can initiate the app transfer.
Steps:
My Apps
Select your app
Scroll to the Additional Information section
and click Transfer App, then click Done.
See more details on app transfer here
To sign an app you need provisioning profile and signing entity (.p12 file)
Or Apple Developer Account access from where you can generate certs and provisioning profile and download
After getting signing identity and provisioning profile from Apple Developer Account perform following steps
Archive App
Open Organiser (Xcode >> Window >> Organiser)
Select app and version you want to upload
Click Upload to App Store and follow instructions

iOS provisioning after app transfer

I was developing an iOS app under my personal account and so far used Xcode's automatic signing feature for app provisioning. I now transferred the app to another organization that I'm not part of, but they want me to continue developing the app. They made my personal account where the app once was an "app manager" in their account for that particular app.
Now I'd like to submit an update for the app, but automatic signing does not work anymore. I get the error "Failed to create provisioning profile: the app ID cannot be registered to your development team", which is understandable since the app ID moved to the organization's account. I cannot have access to the organization's account since there are other apps there.
I'm sure there must be a way in such a scenario that I can continue uploading app updates for their account?
You should ask an organization (who/that own's your/this app now) to add you as a 'Team Member' in their Apple Developer Account. A team member can work with development environment only. It can create provisioning & certificates for development purpose only. A team member do not have right/permissions to update/change any other options in developer account.
As you are a developer for this app, they (organization) will allow you to access development resources. Share below information (link) to an app owner organization.
Here is more details about roles of users: Team Privileges
or
If you've your own apple developer account, then you can create new AppID, Bundle Identifier (for temporary development use) or wild Card Identifier (I recommend to use wild card identifier) to develop this app.
But if you want to upload/distribute app/updates on App store then you must have a 'Team Admin' or 'Team Agent' privilege. And I think you organization may not allow you the same role. But they can share your .p12 for distribution profile (Certificate or provisioning profile) by using which you can distribute an app on app store, without using to developer account.
I suggest and recommend, use .p12 profile to
distribute your app

Difference between apple developer and enterprise account

We use apple developer account for submit IOS application in appStore. we got this email from apple after 10 days :
We are unable to include your app, MY APPLICATION, on the App Store. Under the U.S. sanctions regulations, the App Store cannot host, distribute, or do business with apps or developers connected to certain U.S. embargoed countries.
This area of law is complex and constantly changing. If the existing restrictions shift, we encourage you to resubmit your app for inclusion on the App Store.
our company in Iran and apple reject our request for Political reason.
now we want to publish application with enterprise account, my question is with enterprise account we should have get appStore review? that means We will rejected.
Enterprise account mean it should be used within your company, the app signed by that will be able to install to any devices, as long as the user trust the account in device management, it cannot be use to publish on AppStore.
You can anyway, host it in your website and ask people to download from there and trust the company without needing approval from Apple
AppStore :
With AppStore account you need to distribute application through iTunes and it will go through iOS review guidelines and It should satisfy those guidelines.
Enterprise :
With Enterprise account you will still be able to work exactly like how you process for app development. But, Under enterprise account you will not be asked for application review.
Using Enterprise account you will be generating InHouse certificates and provisioning profiles and using it you can distribute your app within your organization and you will not get portal to download app like AppStore.
You need to create or expose link from there user can download app.
Your app .plist should be included with link or path where the .ipa is stored.
You can deploy your app at any time without apple review process.
A good advise for you (your company), establish a small branch outside Iran (where, there is no any kind of restriction) and register for developer account from new location.
OR
Your company can create Individual account by using trustable resource of organization living outside Iran (with citizenship of other county).
Enterprise account is for enterprise (in house) applications only. Enterprise account is useful, If you want to distribute your application to specific segment of users, to whom you can share IPA build directly using downloable source (server).
You can find official information about apple enterprise account from this link:
Apple Developer Enterprise Program
But if want to distribute your app for general public usage, which is not limited to specific segment of users, you should use/choose Individuals or Organisation (Non-Enterprise) Apple Developer Program
Here you can see difference between enterprise & developer account:
Choosing a Membership

Publish iOS app to App Store on behalf of client

I have
An apple id
The source code
A Distribution Certificate generated for my apple id using client's developer portal
A Provisioning profile for the newly created App ID and my distribution certificate
My client dont want to share his apple id credentials with me. I am able to archive the product in Xcode, but am not able to submit it to App Store.
Can i directly submit it to the store with the above details i've got?
Or Can i build IPA file and share it with client, so he can submit to App Store?
Is there any other alternative ways we can submit the app to store (other than sharing his credentials)
Kindly explain the answer (with step by step guide if possible).
Thanks
For those who needs to do the same on behalf of clients, here are the steps i've followed...
What i had
An apple developer account (with no Developer Program Enrollment)
What client had
An apple developer account (with Apple Developer Program Enrollment for Company)
As far as app distribution is concerned, apple have 2 systems: Member Center (for Certificates, Profiles, App IDs etc) and ITunes Connect (for publishing your app to app store and further management of the app).
I need access to both ITunes Connect & Member center for distributing on behalf of client.
In Member Center, client should give you Team Admin Role. [steps]
In ITunes connect, client should give you Developer Role / Admin Role for the app. If Developer Role, given u can only upload the build, to submit app for review you'll need to ask the client. If Admin role, basically you can do almost everything upto Submitting the app for review. [steps]
Now you can create certificates, profiles, app ids through Member Center (you can create certificates & profiles in Xcode also. But App IDS should be created through Member Center).
Create App Record in ITunes Connect using the same bundle ID used for App ID creation.
Upload your build through Xcode
Submit for review through Itunes Connect
This is what i did for submitting the app. If you find any mistakes/better alternatives, pls comment below, so i'll update the answer.
You'll need to do the following:
Build the app using the distribution cert of the client
Archive the app using XCode (it's in the same menu as the build
options)
When the archive is done it will open the Archive
Organizer
Select the newly created archive and export it. The
first option in exporting is the 'Save for iOS App Store
Deployment'.
This will create a directory on your mac that contains the bits
and pieces your client will need to upload it.
Zip that directory and transfer to your client. They should be able
to use the web-interface in iTunes connect to upload the app and
complete the app submission process.
... Or Can i build IPA file and share it with client, so he can submit to App Store?
To answer your question, you can build the app and provide to your client for them to submit the app.
For building the app (.ipa) you need to get the Provisioning profile & Certificate (.p12) corresponds to Apple developer program from the client.
I have done this for many of our clients and solution is working. In fact few of the clients they have an internal portal with the predefined process.
In case, if anyone of you have queries on this response comment below and I shall try to answer.
Note: when signing remember to choose use local signing assets in order to avoid giving apple id credentials.
The easiest way would be to have your client add you under User and Roles in iTunes Connect. There is a developer role now that can limit access to a certain app and restricts it to the below:
As of Summer of 2017, Which is after this was initially asked) The developer and the app producer name must be the same. Thus just have them spend the
$99 a year and get a Dev account that they add you to to Develop / manage.
Here is a short and detailed explanation: [1]: http://www.goodbarber.com/blog/your-client-s-developer-accounts-vs-your-own-a856/
Here is how to tranfer if already in app Store under your account:[1]: https://support.appmachine.com/hc/en-us/articles/360000012284-Transfer-your-app-to-another-iOS-Developer-Account
You need to use IP distribution with iOS to build IPA to upload to the App Store
According to the description the simplest way would be to submit the app on your own behalf and as soon as you pass the certification to transfer the published app to your client from iTunes Connect dashboard.

Resources