Choosing the right iPhone Developer Program - iphone

I am writing an iPhone apps for in-house use. There is 4 of us in the project team. We need to deploy the application to around 20 iTouch devices via ad-hoc distribution mode and there is no intention to put the application in the App store.
The question is, should I go for the Standard Individual Program or the Standard Company Program?
Note: I am not asking to choose between Standard and Enterprise. Since I only need ad-hoc distribution and the application is running on only 20 devices, I believe the standard program should be good enough for this purpose. However, for the standard program, there is option for Standard Individual Program or the Standard Company Program.

revised response:
This info is readily available on the iphone developer application page. Both accounts allow ad-hoc distribution. The enterprise program allows in-house distribution or proprietary apps for companies with 500 or more employees.
original response:
You have to go for the corporate program. It's the only one that allows you to distribute apps within an organization as far as I know. The individual account is only for apps that you intend to sell in the app store.

Review the licenses for each program with your legal team if you have one. I believe you will need the corporate one.

If the company has less than 500 people, you don't mind a slightly more difficult distribution system, and the $200 difference is really important, than register with the standard program as a company. Otherwise, sign up for the enterprise program.
You should only register as an individual if the company does not own the software being distributed and doesn't want to own the software. Which I doubt is the case.

For any business with multiple users I would recommend getting a Corporate account. That way you can have a team leader, and separate account logins for each member of the team.
For a Corporate account you will need to provide a legal contact at your company who has authority to bind your company to the terms and conditions of the Apple agreement.
Check out my post here for a bit more detail about what you have to do, and how long it takes:
https://stackoverflow.com/questions/1876333/how-long-does-it-take-to-get-an-iphone-app-into-the-app-store-closed

To clarify: the iOS Developer Enterprise Program does not require that your company has 500 employees or more. This restriction was lifted in September 2010.
To learn more check out the article "Apple iOS Enterprise Developer Program Summary" at http://www.apperian.com/technote/Apple_iOS_Enterprise_Developer_Program
Please note that access to the actual "license agreement" requires that you agree to the SDK License first (it is not shown to the public).

Here's the main differences if you get the Standard Company program (and not plain old standard program):
You get to run a team in the provisioning portal, i.e. you can invite other iOS developers to be in your team, and they can download provisioning profiles for your app, etc.
You need info like your DUNS company number and a company address
Your organization's legal entity name would be listed as the seller of your apps on the App Store (if you published there)
The first item is the most pertinent. Without a dev team, only the person signing up will have access the provisioning portal.

Related

Distributing free ios apps privately to multiple customers (b2b?)

I have been researching a lot about this issue, but I only get more and more confused...
Basically, what I need to do is to distribute a free ios app, but I don't want it to be available to everyone, but just to some of my customers (5 or 6 companies). I have been looking into the B2B option, but I have some questions:
The purchasing company must enroll in the Volume Purchase Program... will this be free for them?
Can I distribute the same app to more than one company?
How exactly can I perfom the distribution? Can I just publish my .ipa through one of my servers? Or do I need to go with a MDM? I have read that it is actually the purchasing company who has to get and manage the MDM?
According to Apple : "Even though custom B2B apps can be free, you must have a Paid Applications contract for your app to be visible on the Custom B2B App Store."... what does that mean?
Maybe there is another better option for me than the B2B program?
Sorry for asking so many questions, and many thanks in advance!!
MarĂ­a.
When distributing an iOS app b2b:
any buyer must be enrolled in the Volume Purchase Program (this is free).
you must specifically allow all buyers (there can be more than one) to purchase by specifying their Apple ID in iTunes connect.
the buyer pays whatever price you specify for the app on a per install basis and Apple takes their 30% cut. This can specify a price of zero.
distribution is entirely Apple-hosted but the app is not visible in the public app store.
The Paid Applications Contract is an agreement between you and Apple that you must enter into before using B2B distribution. Steps to make the agreement are here - http://www.pressmatrix.de/product-blog/apple-developer-itunes-connect-guide/
Note that b2b apps MUST go through Apple review process.
The only other option I see is to require your clients to enroll in the iOS Developer Enterprise program (cost of $300 per year) and then allow you to sign the app with their certificates for distribution to their employees using "over the air" installation, config utils, or an MDM.
It sounds as though you might want the iOS Developer Enterprise program.
This enables you to distribute apps ad hoc, however you might want to check whether that means to one organisation or to multiple as I'm unsure.
Comparison of the iOS developer programs

iPad App Distribution for corporate

Just to give you a little background, we have a software application which anyone can access through web. It is a very specific application for banking and retail industry. Currently this application is accessible on web as well as on "Windows tablet kiosk" and we have license based pricing. Windows tablets access the data through web services.
So for example, XYZ Bank can order 100 windows tablet licenses and we can charge them for the application based on our pricing model for 100 license.
We are getting lot of requests from our clients to develop the same app on iPad and we are currently researching on deployment options for the same. As per my understanding, Apple has very stringent rules when it comes to App download.
In above scenario, where organization needs a licence from us to run the application what kind of deployment strategy we should go with? I can think of 2 options:
1) To deploy the app on iTunes stores and ask the organization to download it from the iTunes store. They will have to contact us to get the license in order to run the App. Is it legal? Since we have license based pricing model, we'll keep our App for free and will charge organization for license.
2) Should we just get enterprise license for our clients/organization and deploy the system on their iPad under that enterprise license.
According to me option # 1 is the way to go. But I just want to know if this is OK to distribute the App for free and than charge for licenses? In any case this is more of a web app and iPhone is just an extension.
Option #1 is only ok in a special case, when you have a general subscription model for your service outside the App Store/IAP process, like Spotify does, for example. There's a special paragraph in the App Store guidelines for that, 11.14. But if your customers pay a one-time fee just to use the iPad app, I think Apple would consider this as circumventing the App Store payment model and would reject your app because of rule 11.1 of the guidelines.
But Apple just set up a new distribution model for cases like yours, the "Custom B2B apps". It's a way to distribute custom apps for specific customers through the App Store, without the need for Enterprise Licenses for each customer. See
http://www.apple.com/business/vpp/
Only customers that you have approved before will be able to see their custom app in the App Store. Payment goes through Apple and they keep 30% as usual. This program is US-only now but will be rolled out to Australia, Canada, France, Germany, Italy, Japan, New Zealand, Spain, and UK soon.
If you don't want to give the 30% away, your only option is indeed #2, building the app with an Enterprise License of your client. The only real downside I see is that you have to get each client to enroll in the developer program and renew it every year. If you have many clients, that could become a problem.
But once they've set you up as an agent or admin, the process is smooth. E.g. you can use a MDM service for OTA updates to your client's devices and they can set up an inhouse app store, so their user experience is almost the same as when using Apple's app store.
I've just decided to go with option #2 for an enterprise project for 3-5 clients. I would say that if you have more than about 10 clients, the extra work with all the different certificates, distribution methods etc. wouldn't be worth it and I'd rather pay Apple 30% to handle that and go with the Custom B2B program (if it's available in your country).
Option 1 is more preferable.
You can have a free app on the app store.
After that you can have a option for licensing. and from coding you can maintain that in order to use the app they needs to purchase the license.
Lots of app does that as they have their signup based on the Device ID.
I have worked with some of the apps who uses to give their services like SIP Calling with licensing like that.
so with option 1 you can achieve it.
thanks

How do we publish our ios application for only our customers via our servers?

We have an application which will be used only by customers nationwide and for this reason we do not want to put the application on appstore. Shortly we want to publish it on one of our servers like a zip file then the customers will connect to that server and download the application. Yesterday when I called to apple support, one of the customer represantatives said to me that this is not possible even if we choose the enterprise license. But today I found a link which it says it can be possible. http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
Now, I want to know that is there anybody had same problem in here? What are the differences between enterprise license and company license? And the most important is that how can we do what we want to do if it is possible?
It's not officially possible.
You could try Enterprise distribution as others have mention, though it's not designed for distribution outside your company. I'm not saying it will happen, but if Apple find you're doing it they might close your developer account. I've never heard of that happening; only you can decide whether it's an acceptible risk.
Apple would say that you should put the app in the App Store. Unless Apple would reject your app I don't see why this wouldn't work. You don't have to make it easy to find and you don't have to make it cheap.
You can limit it to your customers by requiring a log in. Many, many apps do this, from Salesforce to Skype to Twitter.
Your options are:
Use solutions like TestFlight (free AFAIK) and HockeyApp (paid
service / 1 month free trial) which use UDIDs for app distribution - they
allow seamless ad-hoc distributions.
Use Apple's corporate license ($99/yr) + enterprise license
($299/yr) at the same time and use the latter to distribute your
betas/products without managing UDIDs (i.e. anyone with a link to
your server can install the app, but you can introduce serial numbers etc.).
NOTE: using enterprise license obliges user to not share the app
outside the company, but most companies breach the license agreement
(sharing the apps outside company is not traceable AFAIK).
If you plan to distribute your app outside App Store, option 2 with enterprise license is a way to go, but mind the license agreement on other hand.
The Apple representitive was wrong.
With an enterprise account you can sign an application using an enterprise distribution certificate and provisioning profile, which lets the app run on any device with no restrictions.
You can also use Over-The-Air distribution which lets people install the app through a simple http link in Safari (for example).
We use this a lot at my workplace. We have hundreds of people around the world using our (private) apps, all installed via safari.
The standard Corporate license only lets you manage a maximum of 100 devices on your developer account, but if you take this route you can still use Over-The-Air distribution with an ad-hoc distribution certificate/profile. But you have to manage each device id yourself.
If the cost of the enterprise account is not too much for you, that is definitely the route to take.
It's like Apple said, not possible.
You can add device to the ad-hoc profile, this will allow your app to run on 100 device maximum.
You can use the Enterprise license but you will still need to register the device before the app can be installed and there is still a a maximum.
See the comment of Mike Weller.
Mustafa
you can generate your OTA(Over-The-Air) file in which you set your appropriate profile(with client`s UDID) and send that link to your client and easily provide your update.with using little bit help of your web-developer.check here.
hope this is helpful to you mate...

Developing iphone app for an enterprise

We are developing an enterprise application and I looked at the following options:
1. Putting on itunes.
Cannot do this since our application is to be used only by our clients with a login and passwrod.
You cannot have login based app in itunes:
http://appreview.tumblr.com/post/952395621/cannot-be-intended-for-a-limited-audience
2. Using iOS Developer Enterprise
Cannot do this as :
The iOS Developer Enterprise Program should be used to develop and distribute proprietary in-house applications to your own employees within your own company. As such, your company would not qualify for direct Program enrollment in this situation. We would suggest that your client apply for enrollment in the Program, and, once enrolled in the Program, your client may add the appropriate developers from your company to their iOS Development Team.
Our client cannot add us.
3. Adhoc distribution.
This is only for 100 beta testers.
So are there any other options if I want our client to donwload our app.
Provide some minimal functionality to all users that does not require any proprietary data, but have the app download all proprietary data and enable proprietary features only after your enterprise customer logs in. Then submit it to the App store.
There are plenty of examples in the app store. Banking apps: they might advertise the bank, have maps to the nearest branch, perhaps include a calculator of some sort, but of course don't allow any actual banking features or download any account information until after a customer logs in. Security apps: provide a public weather web cam view to everybody, but a security cam view only to people who buy their expensive $100K security camera system.
The example private golf course app could have included public information on the club, the current weather, map info on local restaurants, and maybe who to contact to apply for the $10M membership, but then added private club info (calendar, roster) only to paid members after log in.
Make sure to create a test account with dummy (non-proprietary) data and give it to Apple.
You can absolutely have a login based app. I have helped someone submit one that got approved that sounds very similar to the one you are describing. Also, think about the Netflix app for example, login based, limited to Netflix users (although this is probably not as limited as you are talking about).
Your solution is clearly "Using iOS Developer Enterprise"...
Can you be more explicit about the "Our client cannot add us." ?
You can get your client to sign up to the iOS enterprise agreement so that they can install it on their phones, and you are simply a team member for them. That also shifts the liability for the app onto them, should anything go wrong.

Does an iPhone Enterprise provisioning profile need to specify phone UUIDs like an ad-hoc provisioning profile does?

We are an iPhone Developer Program member. We've got a DUNS number but not the 500 employees necessary to join the iPhone Developer Enterprise Program. Therefore I can can't see how things exactly operate for the Enterprise level. But we have customers that are big enough to be Enterprise developers and we could distribute our applications to them, and let them build and distribute them on their own. Ideally they could build our app, and distribute it and the associated enterprise distribution provisioning profile via their web site, and users could install both via iTunes.
But... do they need to put every potential user's iPhone UUID in the enterprise distribution provisioning profile as we have to do as individual developers when we do ad-hoc distribution? I am thinking that they don't (have to include all UUIDs) but can't really find anything that specifically says this. Does anyone have experience with this and could shed some light on it, even better with pointers to where this is detailed or explained?
Using an iOS Enterprise Program distribution deployment method does NOT require you to enter every device id.
All you need is a distribution certificate for signing and a provisioning profile built for it. Note that ANYONE that has the profile can run the app on their device, although you can revoke the profile if necessary.
You are also given the standard test and Ad Hoc deployment mechanisms as with the standard Development Program. The Ad Hoc is limited to 100 devices, which I don't understand, but anyway, there it is.
In September 2010, the program was modified by Apple to allow any organization with a DUNS number to apply. Prior to this date, only organizations of 500 or more employees were allowed to join the program. This change should provide much wider access to development of "enterprise apps". See http://www.apperian.com/technotes/Apple_iOS_Enterprise_Developer_Program.html for more information.