Can iOS apps be distributed in a closed app store without requiring a jailbreak on each device

applicationsitunes

I have an application available to all comers on the App Store and I would like to restrict access to the application. The app is free and because of this, some people download it then find they can't use it and leave bad feedback. Although the description clearly says you need to be an existing customer obviously not everyone is reading it and the bad comments put off our actual clients.

I've looked into the Enterprise account but from what I understand you can only distribute to in-house staff. These are our clients so do not fall under this category.

Can Apple's code signing requirements used to allow select customers to see certain apps?

Best Answer

Solving this problem could go down three routes (and I'll initially answer it generally to be of most use to everyone reading this):

  1. Using a development license and signing apps for a limited pool if iOS devices (currently, you get only 100 test slots as any iOS developer). This avoids the App Store entirely
  2. Setting up an enterprise account with Apple so that that entity could sign apps for effectively an unlimited amount of devices. You would then let the company that has the enterprise account sign the apps for the devices it wants to run them and pull or modify the app from the public App Store.
  3. Have the developer and the clients sign up for the Volume Purchase Program from Apple. This puts the app on the App Store, but the developer can control whether all VPP buyers can see the app or only white list certain clients to purchase.

From an experience standpoint, option 3 is far superior for most situations. Abusing the developer program to distribute apps commercially is against the terms of service, and there are technical issues and undue hassle with implementing that potential around the code signing barrier.

Removing the app and only selling to clients might work for your case - using option 2. Only the clients need to sign up, but you get total control about issuing fixes, builds and there is no delay (or benefit) to submitting the app to Apple for review. It doesn't mean you couldn't still submit the same build and price it high enough that people don't buy it, but then refund those customers when they are done evaluating your app, want to get a direct build they can sign.

The last option means you, the developer, need to list your app under VPP (which hides that app from most users of the App Store) and your clients also need to enroll in VPP, but this is Apple's solution to the dilemma you find yourself in.

  • The client gets access to special pricing, special access and still has Apple reviewing apps and providing the store front, code signing, etc...
  • The seller gets access to special pricing, explicit permission from Apple to sign related contracts directly with the clients to stipulate anything you wish (minimum purchase, pricing, availability, custom design) - but they only review the apps - Apple doesn't arbitrate, facilitate or handle agreements or disputes between the seller and the buyer.
  • The seller can price the app differently for each client or use the same pricing for all.

Both parties need to have a company and jump through some filing paperwork to enter VPP, but it's really the optimal solution for most cases where you don't want to price your app for free on the public store.