The idea to distribute release version of iOS application to specified users only. This app shouldn't be available for any person except who was selected (using AppleID or something).
Is it possible to avoid using Enterprise Developer Program?
VPP as I understand will not work here, because app will be available to all business users.
Ad-Hoc distribution doesn't work for me: 6 months expiration, headache with udids, 100 device limitation.
Thanks!
Related
Heyo Guys
I got a question about the deployment of my App. I am currently doing contracting for a small to medium size business. The app is (as the title suggests) developped for iOS.
The app should be for internal use only so putting it on the app store would not be a good idea.
I have read about the enterprise developer program which sounds pretty much like the thing I need except for 2 aspects :
1. 299 per year
2. Enterprise apps are intended for really big companies.
Is there any other way to distribute the app to the 10+ people working at the business I am currently working for ?
Thanks for your advice
EDIT : Thanks for all your answers. I have plans to then further distribute the app to other companies (the app is for driving schools) so that means that there would again be a problem if each of those companies had to buy a licence in order to use my app
It doesn't matter about the size of the company, If they want an internal application not hosted on the App Store then the Enterprise program is the way to go.
This is something that the client should be paying for though, they could then use a service like Hockey to host their applications for employees.
If the company only needed the app for say 10 devices, they could technically just get away with an AdHoc build but there are drawbacks:
AdHoc builds are intended for testing rather than full scale distribution.
The devices would have to be registered on the developer portal, this means that if a new device needs adding then you would have to add it then re-generate a new provisioning profile.
You're limited on how many devices you can distribute to.
The provisioning profile will expire after 3 months.
Provisioning profiles currently expire after a year just like enterprise profiles however Apple have been known to change this.
If it's 10 people, you can ask them to hand over their devices and you install using Xcode. For 50 you can make them beta testers, but it is a pain. Testflight will work, but you have to upload a version once a month which they have to download. All of these might be against your license.
It would be by far the best if the company you are working for buys an enterprise license. (YOU can't buy the enterprise license, because the users are not YOUR employees).
You can distribute via TestFlight, but those 10 users will eat in to your limit of 25 total Beta testers.
You can explicitly take the target users' device UUIDs and provision your app to be able to run on them. Then, you can create ad-hoc deployments of your app which can be installed directly on the target devices using iTunes, or distribute them using something like Crashlytics.
You can add 100 devices per year as a registered developer.
I was asked to do a recruitment app that will recruit people for the company, so of course it will be free. When I released it, it got rejected for being very basic.
Now the client want to just release it through their site if apple don't want to accept it.
I know how to create the .ipa file through adhoc disribution which is what I use to give them copy and test it by putting it on a test site so that they can download it on their iphones.
But this is only for testing purposes, only the phones registered as devices on the dev account can download the file successfully.
So is it possible to release an app that will be used by users successfully without submitting it to apple?
With an Enterprise account you can more or less host your own private app store for an unlimited amount of devices and distribute in-house without Apple.
With a Developer account you can run ad-hoc installs via TestFlight or comparable services for up to 100 devices.
The new iTunes TestFlight integration announed at WWDC14 allows for 1000 devices.
The only solution that will look truly professional is the Enterprise App Store and it requires you to have a DUNS and an approval from Apple, but generally with a DUNS you're set. It's $299 instead of $99, but that's not so much money for most companies that have a DUNS. Also you can't use that account for publishing apps to the public App Store.
In general, yes it is possible: you can release an enterprise app outside the app store, provided that your company has the requisite enterprise agreement.
However, this is intended for internal use, and while I haven't read the agreement myself, I believe that distribution to the public at large would likely be in breach. (EDIT: As Zaph points out, this is in fact explicitly disallowed.)
The situation you're describing would fall outside this.
Moreover, from a user experience standpoint, it's unreasonable to expect prospective employees to download an application from outside the app store.
This is not only technically difficult for a lot of people, but it would look incredibly unprofessional, which is the opposite of what you're after in a recruitment app.
No. Apple restricts the apps available to users only to those on App Store.
(Actually, not 100% true - you could release the app on Cydia and target only jailbroken phones, but I suspect this is not what you mean to do.)
Alternately, make a web application, using JavaScript/HTML/CSS. Anyone can use a web application, it can be installed on the launcher screen, and it does not require App Store, just a web server somewhere. If you need persistence, you might also want to look into manifest files and offline apps. Especially if your app is basic, you can make it look and feel almost as a native app using one of the very nice web frameworks such as jQuery Touch.
However, you might just leave it as a webpage - why would you restrict your recruitment pool only to people willing to install your app?
tl;dr: You can't release an ObjC app except on AppStore.
There are already multiple answers to this question, probably because it is not specific enough.
Let's gather all the information that's necessary here:
If you want an app for a company (given that you recruited people through the app, i.e. people who used the app would join the company), you should use the Enterprise Program.
If the app is meant for the general public (in this case, possibly, you would like the app as a branding, promoting app for the company), you cannot use the Enterprise account, since it violates Apple's terms. As an example, see this funny case: http://www.imore.com/how-gameboy-emulator-finding-its-way-non-jailbroken-devices
AdHoc and TestFlight should not be used for a release app. AdHoc only is meant to be used for testing purposes. Introducing non-developer related devices into your AdHoc profile would mean termination of your dev account (e.g. this aggressive and also funny case: http://www.intomobile.com/2012/07/09/apple-goes-after-sites-selling-activations-ios-6-beta/).
Finally, two interesting notes:
There is no limit to the number of devices in an Enterprise Program app. It's not 1K, at least the information out there says the opposite (e.g. the case with the link in 1). The 1k device limit will be for beta testers with TestFlight (according to http://www.neglectedpotential.com/2014/06/testflight/).
An Enterprise account cannot publish apps to the public on the AppStore (see this FAQ: https://developer.apple.com/support/ios/enterprise.html -if it doesn't work, you can load the cached version from Google, etc.). Thanks to Departamento B for this information I didn't know about.
I have an iOS app which i want to distribute to my clients. I have almost 30 companies as my clients. Every company has their own webservice from where i get their data. Functionality and graphics will be same for every company. I think i need iOS Developer Enterprise Program to distribute my app to my clients. There are couple of things i am wondering:
1- My clients are companies, not my co-workers. Is there any legal issue if i use iOS Developer Enterprise Program to distribute app to my clients?
2- Do they need to register for any iOS Developer Program to use my app?
3- I went through apple's site and i didn't see any fixed number of devices for iOS Developer Enterprise Program. Is there any?
4- I don't want that any of my client company knows about other so i am not giving them any option to select their webservice when app is installed. It means that i will make seperate binary for every app. Do i need 30 different app ids and provisioning profiles for that or can i use only one? What is the best way to distribute app in this situation?
Thanks in advance.
You can't use the Enterprise program to distribute apps outside of your own company, instead you should look at developing custom b2b apps, these can be distributed through the app store, but aren't visible to normal users.
https://developer.apple.com/programs/volume/b2b/
I'm developping an App in my company. We want to distribute this App to our customers but without using the AppStore from Apple, is it possible?
I heard about MDM (mobile device manager) but I'm not really sure if it will cover this need?
I heard also about Enterprise developer license for in house deployment but if I'm understanding correctly it means the App can be deployed only inside my company and not to our customers, is it correct?
Thanks for your clarifications.
Seb
If you are trying to get apps to customers without the App Store, you have options, but none of them are awesome.
There are many choices for over the air distribution of the binary, that really isn't the complicated part. You've got MDM solutions, HockeyKit, TestFlight, Manual server manipulation - all are fairly easy and well documented.
Where things get nasty is in the signing. If you definitely do not want to participate in the App Store environment (no app store, no Volume Purchase Program), you only have two real options:
Ad Hoc - Limited to 100 Devices. Devices must be explicitly added to a provision.
Enterprise - No device limit, devices do not need to explicitly added to provisions. In effect, these builds will run on any device; the caveat, you are not legally allowed to distribute these builds to anyone outside your company.
If you intend on developing an application for some other company and their employees, then your only viable option is to sign the final build with a signing certificate attached to said company's development account. The enterprise signing route is a really great approach, if you can get the company to sign all the paperwork to get their own developer account, owned by them.
For stock iOS devices, you really have only 4 choices:
1) Ad Hoc distribution to up to 100 total max devices per iOS Developer enrollment (including wireless Ad Hoc via manifest file & SSL.)
2) Enterprise distribution for distribution to employees of corporations with a D&B rating.
3) Apple's iTunes App store if your app is approved by Apple. (This includes the B2B program and account/password protected apps.) (This now also includes up to 1000 people using Apple's new Testflight service.)
4) Unlimited distribution to other people who have their own individual, company or enterprise iOS/Apple Developer enrollments. The distribution can be either as an Xcode project with source code or a pre-compiled library, or as an ipa or archive file that the customer can (re)codesign with their own Developer certificates. For applications priced at well over $99 per customer, the cost of this annual developer program enrollment might only be a slight additional cost to the customer (and given appropriate legal authorizations, might even be handled as an annual paid service.)
4 b.) ADDED UPDATE: As of Apple's release of Xcode 7 (in late 2015), anyone with just a free Apple ID can use Xcode 7 on their Mac to install apps from build-able Xcode projects directly to their own tethered iOS devices this way, with no need to pay $99 to Apple to enroll. See this answer.
This essentially allows unlimited distribution to anyone with physical access to a current Mac and who knows how to run Xcode.
Options (1), (2) and (4) do not require going through App store approval. There are no other options for distributing apps to stock OS iOS devices.
You could take a look at https://testflightapp.com/.
We use that a lot for customers that only need a app for testing doing the development phase and for apps that are used for conventions (limited time, limited number of units).
Testflight is very easy to use for both developers and end-users, but it is not very well suited for apps that are going to be used on a large numbers of devices, since all devices that are installed to needs to be in your provisioning profile which has a limited number of slots.
EDIT
The testfligt approch is no longer valid. You can now use the TestFlight integrated into itunesconnect. Alternatively you could integrate crashlytics.com, at use their distribution system. It works pretty weill
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.