views:

99

answers:

3

Hi,

I'm in the process of building an app related to healthcare IT. My company wants to be able to distribute it through the appstore, but only if a device identified by the UDID of is specifically provisioned in the database. I've got all that built, but I was wondering if Apple might reject something like this.

Has anyone had any experience with activation codes?

Thanks,
Teja.

+6  A: 

No. See section 3.3.3 of the SDK agreement (from PDF hosted at wired.com)

3.3.3 Without Apple’s prior written approval, an Application may not provide, unlock or enable additional features or functionality through distribution mechanisms other than the App Store.

Matt B.
+3  A: 

You should consider using an Enterprise License for this type of limited distribution. It will allow you to control which devices your application is installed on.

Claus Broch
The problem is we're not really a 500 people company. I'm guessing Apple verify that before giving us the license.Also, this is not exactly an in-house thing, we need to sell this to doctors / hospitals all over the place. I'm not sure how the provisioning is going to work in this case.. Do we need the UDIDs like in ad-hoc development? I can't really expect doctors to find the UDID and e-mail it to me ..
Tejaswi Yerukalapudi
A: 

If I may make a suggestion. Why not make an type of authentication in the application. When you open the application users will have to create an account which you manually will have to approve. If they have an account they can login with it. You can remember the login credentials either in the memory of the application or using a database such as SQLLite with core data. In that case you can still control who gets access to your application, and I think apple will allow it. I can't think of one right now, but I have seen other applications requiring an account to be able to use it.

Br,
Paul Peelen

Paul Peelen
Thanks, that's what we've decided to go with. Our company wanted to add another layer of security on top, but turns out that's not possible.
Tejaswi Yerukalapudi