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.
Related
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.
I need to be able to deploy my application to other businesses, but not on the app store. The business app is for restaurant owners, and is different to the app that will be available on the app store for users.
I saw that Apple have an 'Enterprise' program, that allow users to deploy apps to internally within there company. For example to co workers. But I need to be able to deploy the app externally to businesses. Has any come across and solved this issue before?
You should consider the Apple B2B distribution program: https://developer.apple.com/programs/volume/b2b/
I haven't personally used it, but it appears to be a solution that fills the gap between Enterprise and App Store.
One alternative would be to use the iOS Enterprise Program instead of the B2B distribution program.
But as you'd be developing apps for another company, I think the correct thing to do would be to ask your client (the other company) to license the iOS Enterprise Program and give you access to it. That's how the company I work at handles this cases.
If anyone else is interested in publishing an app for businesses that shouldn’t be on the public App Store, there is the iOS developer enterprise program which allows companies to distribute apps internally without publication on the App Store.
The program needs to be open by the companies as the distribution is only for their employees.
The B2B option is to distribute custom apps from businesses to businesses and only available in the following countries :
Australia, Canada, France, Germany, Italy, Japan, New Zealand, Spain, United Kingdom, and the United States.
If you are not from one of these countries, the Enterprise program is the best option.
You will need your customers to enroll in the Enterprise program, and then you will be able to join their development team and develop the app on their behalf. (Source: Apple Customer Support).
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.
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.
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).