iPad App Distribuition - ios

I am currently having an app developed that I intend to sell, it will be for a specific type of busbiness and not the eveyday iPad users. With that being said I am not a large enterprise, so I cant urchase that, I do not feel for the price that I want to sell the app that it would be beneficail to place it on the app store, roughly around $1,000 for the application since it competes against solutions that cost 25k. I heard you could sell yourself on a website, but how could that be done? How can I sell a app without the appstore?
And yes I say addhoc, which only allows up to 100 ipads, enterprise soultion I do not fall in, since I looking at selling and not internal distribution and the appstore might not be the best bet for my app solution.
Thanks
A new developer

Ad Hoc apps are not only limited to 100 devices, but expire (once or more per annum), and thus need to be re-signed with new provisions periodically to continue to function.
There is one more option for apps over $1000 in price.
For apps over $1000, another alternative to scale above 100 customers, as well as outside the App store even on stock OS devices, is to have each end customers buy their own $99/annum iOS Developer enrollment. That's not only less than 10% of the price of apps over $1k, and possibly less than the annual maintenance fee on the competing $25k software package, but also less than Apple's 30% App store percentage!
You could package your app as a shared library (without source code) inside a customized project, and just have the customer (or some developer service, such as yours for an annual fee) renew their certificates and provisions, and rebuild and reinstall the app, as long as the customer(s) keeps renewing their iOS enrollment.

You've pretty much covered all of the available options.
As such, the app store seems to be the only suitable one, unless you have a Dun & Bradstreet Number and don't mind purchasing an enterprise developer license. (These are now only $299 that said, which seems like a small outlay considering the proposed cost of your app.)

Related

Developing iOS for enterprise as individual Developer

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.

Release an iOS app but not through itunes

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.

My client doesn't want IOS App in the App store, how to do it?

I have my first client who doesn't whant the App I am developing in the App Store, he wants his clients to have access to the app using like a Ad Hoc distributions (without the 100 devices limitation by Apple)
IS there a way to do it, or I have to stick with App Store and wait for the countless 15 days approval for any new release?
I read about the enterprise but the users are not employees but customers, I believe it doesn't apply
You have a few options. Firstly you will need to decide what is the likely, minimum and maximum number of people that will be using the application and how they will need access to it.
Low maximum < 100 users. You can use ad-hoc distribution with 100 devices using a normal apple developer account.
High maximum (Clients don't need to be able to download the app themselves). You can use an enterprise account (As you mention could be lightly risky as it may be breaking their terms not 100% sure, would merit some further reading. If you can go through the approval process shouldn't be to hard).
For both these methods you can then distribute the application using a distribution solution such as Silverback or for cheaper options that will require more effort TestFlight or HockeyApp (Not their original purpose but will function for what you need)
High maximum (Clients need to be able to download the app themselves). You can use Apples B2B solution or if you have an internal sign up process something like Silverback.
Another thing you should look into is showing your customer that a) approvals don't always take 15 days for updates (They initial process of putting it on the app store is longer) and b) you shouldn't be having countless versions being uploaded all the time.
You should also explain that you instantly gain access to new customers that can stumble upon your application generating more business and potential customers are more likely to trust an application from the appstore.
I should also mention although silverback is the only MDM/alternate distribution I have used it is very pricey and I'm sure there are cheaper alternatives.
Just to elaborate on the enterprise license use. Are the customers part of a large organisation? One of the projects I worked on was with a large company that needed to distribute applications to 1000s of employees. We asked them to apply for an enterprise license and make us users on the account allowing us to use ad-hoc distribution with and enterprise license. There was a major draw back from this as their IT support manager whom created the account left after 6 months and didn't hand off his email account which lead to all the profiles on the enterprise account expiring which meant a day of downtime for the application.
The best way for you would be to enroll with Volume Purchase Program for Business.
Once your customer has a volume purchasing account with Apple, they can get custom B2B apps you’ve built for them. Customers can select the app and enter the quantity they want to purchase from the Volume Purchase Program website.
Alternatively you can just use a standard membership with a limit of 100 devices and distribute your app using services like HockeyApp or TestFlight.
Another rarely mentioned method of iOS app distribution which may be suitable, is if the app's price or it's support cost is high enough that an extra $99/annum isn't a deal breaker. If so, then each customer or customer business can enroll in the iOS Developer program themselves, and (if necessary) be given a User account on a Mac so that they can generate their own device registrations and Ad Hoc app Distribution certificates.
Then the app can be distributed as source code, as a project containing a pre-build static library containing the app without source, or (as an offered consulting or support service) as an app pre-built and signed by the Developer but using the customer's own Ad Hoc Distribution certificates.

IOS Provisioning profile for business distribution

Hi I developed one business app for my customers(SALES PERSONS) it integrate with ERP ,
this app distributed to many Sales Person iPad's by Developer provisioning profile.
My bad time Developer provisioning profile have one year validity only..
How can I distribute my app to my sales persons iPads with life time provisioning profile.
*This app is not uploaded App store because business purpose only.
Is there any other way to business app distribution methods?
Please share your ideas ..
I hope it will help me...
Thanks...
You or your organisation resprectively need an enterprise account. It is a bit more expensive, has higher application criteria and a stronger contract but enables you to do exactly that.
See Apple's docs for details.
https://developer.apple.com/programs/ios/enterprise/
If you use the ad hoc provisioning profile distribution, as you did, you meet at least two problems:
A limited time your users can use the app (the ad hoc provisioning profile has a limited duration)
A limited number of users can run the distributed app (remember that you can use at maximum 100 devices per year for testing, and from the Apple's point of view your users are just testers)
In general, to achieve what you want with iOS, you have a couple of options, but probably no one of them perfectly fit your needs:
Registers with the iOS Developer Enterprise Program.
In this case you can distribute your app without submitting it to the App Store,
but this method works only if your users are employees of your company
Enrolls in the Volume Purchase Program for Business
(VPP Business Guide).
In this case you can submit your app, in a restricted number of
Countries (United States, Canada, United Kingdom, France, Italy,
Germany, Spain, Australia, New Zealand, and Japan), to a limited
number of users, through a sort of parallel App Store.
This procedure is intended for companies that fit the following requirement:
big companies (that have a DUNS number) that hire a company that develops a Business
app for them (aka marks the app as Business and related to that particular company during the app creation in the iTunes App Store). The app will not be visible in the traditional App Store.
Maybe this second case can be your case, in case you are realizing the app for a DUNS company. Please consider that in this case the company itself (and not you) establishes who can install the app by sending it to the selected target users in different ways (promo codes, links to the app store,...).
I don't see other options at the moment.
Here is a link provided by apple themselves on how to distribute in-house business apps.
http://www.apple.com/business/accelerator/deploy/app-distribution.html
I'm not going to copy everything over cause there is quite a lot, but it basically says you can distribute your apps over a wireless network using a private server and an Enterprise Distribution provisioning profile.
Another link that is from that site is http://help.apple.com/iosdeployment-apps/mac/1.1/#app43ad8905 which gives a walkthrough on how to set this all up.
If you have any questions just ask. I have given a basic summary but I can go into more detail if you don't understand.

iOS Enterprise Developer Program: how would Apple tell random customers from employees?

A Mobile Operator needs to distribute an app which is using private APIs onto non-jailbroken devices.
From what I've read everywhere so far, this is not possible.
Just out of curiosity: Enterprise Developer Program is reserved for apps that are distributed within the company only and is used by employees or contractors, but how would Apple find out if the user is an employee or just some random iPhone user?
Of course, if the number of customers grows big enough, Apple will notice that some day, get suspicious and shut down the enterprise developer account.
But, suppose, the app is used locally (only in a few countries) and on not that many customers (say, in order of tens of thousands or hundreds of thousands), is there a way Apple could find that out? So, what I am wondering is if there is anything measurable on the device or in the app that signifies the user as the employee of the app developer. I doubt that.
Thanks!
Technically I don't think Apple has any way of knowing on which device an enterprise app was deployed and what it actually does. Also I don't think Apple would be a lot concerned if you deploy an enterprise app in a few non-employee devices. They only want to ensure that you don't use the Enterprise license as an alternative distribution mechanism for iOS apps.
According to me the following would be the drawbacks of attempting such a thing:
1) If the distribution to non-employees reaches high levels and this
comes to Apple's knowledge(through a disgruntled employee maybe), it
is more likely that they would take legal action against the
enterprise(apart from shutting down the account), causing loss of
money and loss of face.
2) Enterprise distribution certificates expire in 1 year(even the
in-house ones), so if your really start an alternate distribution
mecahnism using an enterprise license, you can imagine how difficult
would the after sales support be.
3) Of course ethics is a matter, if you take that into account :)
You are correct that the Enterprise Developer Program allows to deploy apps within a company and its employees only.
However, Apple is not (yet) intervening if you offer your Enterprise signed app to the public although it technically able to (see the "kill switch" comment above).
One example is the app provided for download at http://www.featurepoints.com. The app installs a provisioning profile named "TapGen InHouse" expiring 2014-06-30, effectively skirting the App Store and Apple's approval process.
So either Apple can not tell random customers from employees or they just don't care (at least as long if you are below a certain threshold).

Resources