Can't distribute app in b2b, option disabled. What am i missing? - ios

i have developed and uploaded an ios app into the App Store Connect. The app is going to be used only within our company.
I should select "Available for private distribution to specific organizations..." option but it's disabled (greyed out). In January i published 2 apps in same way and i was able to select the b2b option.
Now that option is greyed out and i have no idea what's different this time. Obviously all agreement (taxing..etc) signed as i already published 2 apps in January. Also the app is free, selected country is UK, everything filled as with the other apps.
I am sure i am missing something but can't work out what's that.

Apple gave the answer in email:
“Available for private distribution to specific organizations on Apple Business Manager or Apple School Manager” option is available only if you've agreed to the latest iOS Paid Apps contract even when your app is free."

Related

Apple iOS App Distribution to Corporate / BYOD (Devices) via Apple Business Manager or Other

I need to distribute an Apple iOS app which has been developed internally to the phones of our employees via "Private App Store". Is there a way?
Our app was rejected on the public app store. We were also rejected from Enterprise Program. Ad-hoc is very complicated as requires UDID of each phone.
We were advised to go via Apple Business Manager. The thing is that ABM does not distribute apps. Apple is not able to provide adequate support. They could not answer my question and just keep rejecting our app and advising us ABM that in my opinion will not help us in no way as employees use their personal phones. Last agent told me that distribution is done via MDM software.
It is possible!
App should be published under Apple Developer license on a public App Store but for private distribution.
Before sending to review I enrolled into Apple Business Manager under new Apple ID.
In Pricing and Availability section I designated this app via organization ID to the Apple Business manager account created before (3rd option). Also had to accept agreement for paid apps inside AppStore connect account in order make this 3rd option tickable.
Also had to enable Custom Apps inside ABM account. My app appeared in ABM several hours later after Apple approval.
I picked option to buy licenses as Redemption codes (instead of MDM). Then Download button appeared on the right. I downloaded xls file with codes and links.
I sent links to employees. App installs without any questions by link. Also their is option to manually enter redemption code in the App Store app on the phone and the app installs as from public App Store.

Distributing iOS app as a B2B custom app and also making it available in the general app store

I have a requirement from a client who would like to distribute my app available in the App Store via. Apple Business Program to their employees. Of course, there will be some client-specific customizations added to the app but those will not take effect in a non-MDM environment. So it should be safe enough to distribute the app in the general app store. However, I would like to understand the possibilities of distributing an app (without having to maintain 2 different code base] through general App Store AND as a custom B2B app.
I have been going through some documentation from Apple about signing the paid app agreement.
Paid App Agreement Info
Custom Apps
It says:
Once this contract is requested, you can’t undo this action or revert to the Developer Program License Agreement for free apps
Does this mean that once I sign the agreement, I can't update my free app in the general store?
Other Questions:
Can there be free apps and custom apps submitted under the same iTunes Connect account?
Is code signing requirement different for a custom B2B app than app store app. Ex: different kind of distribution certificate?
If code-signing requirement is not different, can the same binary (same bundle id/version number) be uploaded under different iTunes Connect account – one as a free app and the other as a custom app?
The section you have quoted refers to the legal agreement you have signed. Once you have signed the Paid App agreement, you can't "unsign" it and revert to the Free App agreement.
It does not refer to the types of apps you can distribute. You can distribute both free and paid apps under the Paid App agreement.
In answer to your other questions:
Yes
No, custom apps are signed for App Store distribution, are still uploaded to App Store Connect and are still reviewed by Apple
No. In App Store Connect you will have two apps (one custom, one free) so they will have different Bundle IDs at least, even if all other code is identical. You will need to upload different builds.
If your custom app is absolutely identical to the one you are proposing to offer as a custom app, then you may not even need a custom app; the company can use Apple Business Manager and their MDM to obtain your free app and push it to their users. You do, however, need to consider what would happen if some other organisation distributed your app via an MDM; would your customisation "activate" and would that cause a problem?

Publishing a private iOS app - Clarifications

I'm developing an iOS app that is going to be used internally within our organization, and do not intend to publish it to the App Store.
I have some elementary questions to which I can't seem to get correct answers despite some research.
Since the company owns the code, in which name should an Apple ID be created?
Once the app is ready to be deployed to the device, in whose name should I purchase the developer program?
Should I go for the corporate purchase where it asks for DUNS number of the corporation? In such cases, should I rely on the purchase departmentof my company to make the actual purchase?
Also, how do I sign the app? I believe it asks for an email id to generate the key. Can this ID be mine?
Finally, How do I add more team members who can support or add new features to the app in my absence?
How can I provide them access to build the app (code signing).
The intention is to have an ID to test the app in real devices. The test machines are in Country 1 and Country 2. So, if I purchase the ID from Country 1, can I use the same ID to test the devices in Country 2 too. Is there any restriction in doing that?
We would like to test the app in iPhone and iPAD. Is there a limitation in number of devices to be added to a developer ID?
We have an apple ID in Country 1 and another apple ID in Country 2, since we have two Mac machines, 1st in Country 1 and 2nd in Country 2. Whether both apple IDs can use the same developer ID?
Appreciate the answers and sorry for the long list of questions.
Thanks,
Mathew Liju
You have three choices: With a "normal" developer account, you can manually install an app on a reasonably large number of devices; I think it is about 100. Usually this is used to give an app to testers. With a "corporate" developer account, you can distribute an app on all devices owned by your company. Your company has to sign some contracts; you are not allowed to distribute outside your company. And with a "normal" developer account again, you can put the app on the app store. However, anyone can then download it, and Apple will be testing it and can reject it.
Up to 20 or 50 devices I'd go with the "normal" developer account. I have one private account, and one belonging to the company - your company should probably buy one "normal" developer account and then any developers in the company can use it. You can always start with that account, and if the number of users grows, buy a corporate account.
Yes you need the corporate purchase where it asks for DUNS number of the corporation.
You will be able to make ipa files that aren't tied to specific devices.
Also for testing you will be able adhoc builds.
You will not be able make builds for App Store.
All other is the same as with developer program.

How to distribute ios app to my European enterprise customers NOT through appstore

We have created a messaging app and regularly post updates to the appstore. This way, appstore contains always the latest & greatest, with a small risk of bugs.
We want to build a stable version for our business customers (who do in-house messaging), which updates very seldom or never. Our customers want to control the rate of updates themselves.
Telling their employees not to upgrade does not work, since new installs always get the latest version from the appstore.
Question:
Can I use the enterprise distribution certificate of my own company and deliver the app binaries to my customers (e.g. a different binary per customer)?
Or should I create a different version in the appstore for each customer?
Or should I force my customers to request their own enterprise distribution certificate, which is a hassle I would like to avoid?
I guess that the answer to my first question is NO, as indicated in Can the iOS enterprise app development program be used to distribute apps to other companies but not via the app store?
2 is annoying, since everybody in the world can see & install the app
3 is annoying, since it requires time of my customer plus a legal contract such that I can request a certificate for my customer, use their private key, ...
By your contract you are not allowed to do that.
But Everybody does it. And i had phone contact with a apple employe which told me that they won't go behind that case.
And imaging: should apple check all installations of all enterprise deployment programs? Impossible,... even for Apple.
I would just try to get not more installations than 1000.
The iOS developer program allows you to distribute Custom B2B Apps directly to your customers if they have Volume Purchase Program account.
Custom B2B Apps
You can also offer custom B2B apps directly to your business customers who have a Volume Purchase Program account. A custom B2B app provides a unique, tailored solution to address a specific business need or requirement.
If you have customers who are not located in the US, I recommend the third option: making our customers have their own iOS Enterprise Developer account.

How to distribute an iOS app for a certain number of the devices?

I work in a company, a client ordered an internal iOS app for his company.
What am I supposed to do to give him the application only for his devices without appstore? Do I need a special developer account? Thanks.
To distribute iOS applications internally or to a limited number of clients, you will need to be member of the Apple iOS Developer Enterprise Program, currently the price is $299 / year. For more information, take a look at this article at developer.apple.com.
If the number of devices is less than 100 per year (including all replacement and upgrade devices), the client can get their own iOS Developer enrollment and use Ad Hoc deployment.
If you use your own developer account, you may run out of allowed devices, and end up out of business till next year. So that's not recommended. Have the client enroll, and then have them let you use their account for deploying apps for their devices.
Ad Hoc app deployment requires renewing certificates and provisions every year to keep the apps running.
If the number of the client's iOS devices is much greater than 100, then for deployment to stock OS iOS devices, you may have no choice but to submit the app to Apple's app store.
I contacted Apple Support regarding to this question, and got this answer:
Thank you for contacting Apple Developer Support regarding our programs.
Companies who wish to work with consultants or contractors should themselves enroll their company in the iOS Developer Program Standard or Enterprise program. The developer should keep in mind that the employee submitting the enrollment must have authority by their company to bind the company to legal agreements on behalf of the company. At this time, each client must have their own Apple Developer Account if located outside of the US.
Once accepted in to the program, the company may then add their consultant or contractor to their Team Member list as a user or admin. The company Team Agent would then later submit their application to the App Store under their own company account/name.

Resources