my doubt is this: I developed and published an app on the AppStore (with auto-renwable in-app purchase).
A company would like to sell my app to its customers and they ask me if it is possible to have it without going through the store.
I thought about the IPA file, downloadable and installable directly from an external site.
is there any way to do it? Preventing expiration messages .. In short, install it completely.
Without jailbreak possibly
You can distribute your app without Apple Store. You will need to enroll for Enterprise Account for this. But you can not use in-app purchase which Apple provides. You will need to use other payment gateways.
Also, the enterprise account certificates have 3 years of validity.
More info: https://developer.apple.com/programs/enterprise/
Related
I have created a .ipa file with flutter using diawi. I want to know is there any way that I can distribute my app among my users without adding their UDIDs to my app and without appstore and apple developer account? I am looking for some kind of website that give OTA from .ipa
This is not a programming question and most probably will be closed but for your sake I'll answer.
You can distribute your app on your own using an Enterprise Apple Account. It costs 3x more than regular account. And according to the Terms of Conditions the users must be from your business not from anywhere else (If you have to distribute to public you must use App Store).
You can also try TestFlight and add your users email to your testing group and then they will be able to download the app through TF without you adding their UUIDs. This way you can have 10k testers at most.
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?
So I am almost finished with my app. One version is for all users to download for an establishment. The other is an admin version of the app where the admin can install and make changes to his/her app (add photos, change menu etc.) and all changes are immediately visible to the original user version of the app.
Once the admin version is purchased by an establishment. I will submit the free user version to the app store.
However, I want the admin version to be available only to specific people. It doesn't make sense for anyone to download and install the admin version of the app (eventhough it's password protected).
I don't like to install the app to the establishment's phone directly because it would make the upgrades difficult.
Is there actually a solution for this problem?
Thanks in advance for the help.
MDM solution :
This will require users to enroll their devices to your MDM server , I don't think that an enterprise employees will register their devices to your MDM server and most chances that they already registered to their MDM server.
Using your enterprise account to distribute apps to other enterprises violates Apple enterprise account agreement!
Custom B2B solution:
With custom B2B solution you can use AppStore platform to distribute variations of your app to relevant enterprises.
The enterprises that want to purchase your app will have to be registered to the VPP (Volume Purchase Program).
Hope it helps.
You need to use an Enterprise account for that Admin app if you dont want it to be installable by others. Use one of the MDM tools available to manage updates and provisioning.
If your admin version is a digital purchase, you either put in on app store and pay the 30% cut or distribute with an enterprise account, use your own MDM process and keep all the money. (But, I'm not sure if Apple will approve an enterprise account if your goal is to circumvent the 30% cut)
I have a b2b app, which uses VOIP flag to stay always connected.
The best way might be to implement APNS support in app. But I dont want to change server side, so im looking for alternates.
Possible alternates are
1. B2b Apps
I can publish my app as b2b
While submitting I dont see b2b app option (probably because tax info is missing)
My App is free, but for my customer to download my app has to purchase Volume purchase program. my custom will have to pay?
2. Enterprise Account
How to distribute app through enterprise account ?
Do I need to have my customer's UDID?
Please suggest the best possible way to distribute my app.
You yourself cannot get an Enterprise account (or rather, SHOULD not, if it's not your organization running the app). Your client/the company needs to register for it.
With an Enterprise account, you can distribute apps without the UDID. An Enterprise Distribution Provisioning Profile allows the app to be installed on an arbitrary number of devices, just like an App Store Distribution Provisioning Profile. However, Apps signed with an Enterprise Distribution Provisioning Profile cannot be distributed on the App Store, and vice versa.
Note that registering for an Enterprise account is a bit more of a PITA than the regular developer account. For specific requirements, see: https://developer.apple.com/programs/ios/enterprise/
Edit:
It doesn't have to be paid, it can be free, but your customer will have to be part of the Volume Purchase Program. Apple's site: "You can offer custom apps for free or at any price tier you select. Once you identify your customers and release date, you’re all set." - source: https://developer.apple.com/programs/volume/b2b/
If the app is only for your customer, the best thing you can do is tell them they have to buy an enterprise account.
Then you build the app with their account and host the .ipa on a web server only they can access.
I have developed an enterprise app and its ready to use for my client.
My company bought an account and provides me with the credentials. So i created the ad-hoc distribution profile to distribute the app to my client's testing team during development using testflight.
But as i read somewhere, the account type iOS developer program can not distribute the app to any one,
If you want to distribute your app, you need to enroll for iOS developer [enterprise] program account. But that was not in my case, I was able to distribute my app to the client using the iOS developer program account.
I know, if you want to submit your app to the app store, you need to have an iOS developer program and,
iOS Developer Enterprise Program only allows you to distribute your applications to employees or members of your organization through Ad Hoc distribution.
Now my doubt is,
Is it really mandatory to submit our app to the apple for review to
ensure that our app is free of explicit OR else we can use it without
review? Why do we need an approval from apple when we are not
submitting to app store.
The client is telling they just want to get approval then they can sell it within In-House or B2B use.
Because my client asked me to submit our app to apple for just review, but do not want to put on app store. Once they approved, then they will distribute by using ad-hoc distribution profile.
Thanks.
You dont need to submit an enterprise app to the app store for review.
Your client's request is weird. It doesn't make sense. You can tell your client that Apple does not review enterprise apps.
Update:
your doubt:
Is it really mandatory to submit our app to the apple for review to
ensure that our app is free of explicit OR else we can use it without
review?
Answer: NO. Its not mandatory
Why do we need an approval from apple when we are not
submitting to app store.
Answer: You dont need an approval.
Now, there is a case where your client's request will fail for sure:
Assuming (for the sake of explanation) this app is a porn video viewer app, it'd never be approved by the Apple App Store reviewer. And if the enterprise build deploy is contingent upon AppStore approval, even that wouldn't happen (since the client is adamant)
Note: Enterprise accounts are not meant to circumvent Apple's pay wall. i.e., you should not distribute the app outside your organization.
Hope this answers your question. (if it didn't feel free to add a more specific question to the original post.)
3rd Update:
FYI Enterprise Developer account are not easy to obtain. If Apple Developer Center thinks your client is shady, they may have to manage with the regular developer account. The question you are asking has no credible sources for answers because no one would insist on doing something like this.
Is it really mandatory to submit our app to the apple for review to ensure that our app is free of explicit OR else we can use it without review? Why do we need an approval from apple when we are not submitting to app store. The client is telling they just want to get approval then they can sell it within In-House or B2B use.
You do not need approval, once you are enrolled on the enterprise scheme you will not need to get approval from apple for any applications created as an enterprise application.
However if you then want to sell it on the normal app market it will need to be done from a totally separate account and will need approving.
The enterprise license is a way of making sure that rogue apps do not start making the rounds as they do not need to be installed via itunes, they can just be hosted on a website and downloaded directly from there to the device.
I assume your client may be worried that you aren't going to provide a stable, malware free application and would like apple to authorise & test it first, even though it is not going on to the app store so they have peace of mind that if it's good enough for apple its good enough for them. Or that the MD once heard that Apple HAS to authorise it and they are just jumping through hoops for them.
Companies that are enrolled in the iOS Developer Enterprise Program (currently $299 / year) do not need to submit apps to Apple for approval or distribution. These companies can host and wirelessly distribute their in-house apps without Apple acting as gatekeeper.
If you are an external contractor who has been hired to code an app, you may need to hand the app over for them to sign with their Enterprise key so that they can then distribute in-house.
It would be (very) unusual for an Enterprise Program member to submit their app to Apple for review because it is unnecessary. And so far as I know there is no option to do this without setting up all the app details in iTunes Connect and pretending you were going to sell the app.
Update 1:
#Praveen-K: What doubt is there? If you want to have Apple "test & approve" your Enterprise app (a really bad idea) then you will need to:
Create a fake Apple store app
Fill in fake info in iTunes Connect
Provide an on-sell date a long way onto the future
Provide all the login info and access to your servers that the real app requires
Assist the Apple app approvers in accessing your own data to get approval
Then, after approval, delete the app from iTunes Connect and the App Store
If this does not answer your question then perhaps you need to make sure your question is very clear.