Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

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?

share|improve this question
    
Interesting question, I'm going to be needing to deal with something similar too. AFAIK you have to distribute via the AppStore and as you've already learned - an enterprise account won't really help. Have you considered providing 'redeem codes' for your app to clients? (This still doesn't get around the requirement to have the app listed publicly). –  macaco Feb 4 '13 at 15:33
1  
Contrary to what was suggested on StackOverflow, questions about development and listing your app on the App Store are off-topic for this site. –  Gerry Feb 4 '13 at 15:34
1  
@gerry - This could be answered in a way to be totally off topic, but it also could be answered in a way that explains how Apple's iOS App Store and code signing work. That is clearly on topic - even if a developer is asking for clear intent to develop. We actively discourage code level problems as off-topic, but understanding how code signing and jailbreaking works is very much on topic. –  bmike Feb 4 '13 at 15:59
2  
@gerry I believe this is on-topic, it's not so much a code issue as how to utilize the Apple tools & infrastructure. –  ZX80 Feb 4 '13 at 16:08
    
@macaco We started out charging however the nature of the app meant people had to then ask their employer for the money and it put them off. Seems like there would be demand for a 'push' based controlled installation. I'd be interested to hear more of your experience & thoughts given we seem to have the same core issue. –  ZX80 Feb 4 '13 at 16:09

2 Answers 2

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.

share|improve this answer
    
Thank you for your assistance bmike - this is very helpful indeed. –  ZX80 Feb 4 '13 at 16:33
    
Thanks for the understanding on the edits. Folks on Stack Overflow have a great deal of expertise on the exact mechanics, and although we discourage questions about some of the details on iOS dev program, this high level discussion seems something that the community of users, developers and buyers could find of great use in thinking about deploying apps in business. –  bmike Feb 4 '13 at 17:29
    
No worries, I appreciate all your input. It's people like you who make this site (and the other sites) such a great resource. I hope this is of some benifit to someone in the future. –  ZX80 Feb 4 '13 at 20:06

Give your users an account for the app (maybe you already have it). In the description add a line on the very top:

Only for XYZ users!

Then people that download it will be prompted for username/pwd they don't have.

share|improve this answer
    
That is the approach we have taken so far, yet people still purchase it and complain. –  ZX80 Feb 4 '13 at 16:05

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.