On Mar 16, 2009, at 6:18 PM, Chris Idou wrote:

Is there any accepted, or preferred or standard way of enforcing a trial software period for a program on Mac, so that people can't just delete their preferences or something and start the trial again? Or does every developer hack their own little solution? (i.e. write a file to an obscure place).

I'm not sure this is a Cocoa question.  But...

I have seen a couple of fairly nice solutions, and lots of really awful ones. Generally speaking, the awful ones try to go to great lengths to be sneaky and hide files or other data in places in your computer they shouldn't be messing with.

The two that I like both involve some simple encryption.  They are:

-- Issue an encrypted product key that has to be entered for the program to run, and embed in the key an expiration date.

-- Store first start-up time (or the expiration time), encrypted, in the user's .plist for the application, essentially auto-generating the product key described in the first solution.

In either case, you can implement the code so that the encrypted key can specify "no expiration", and then use that for paid copies of the software, having them enter the "no expiration" key to unlock for permanent use.

I wouldn't waste too much time on trying to prevent unauthorized access to your program. The harder you try, and the more stringent the measures, the more likely it is you'll break functionality for legitimate users in the process, and annoy them with the measures even if you don't break things. At the same time, any determined user will have no trouble getting around your attempt to block their access; usually, simply by downloading a hacked version from a pirate web site (I hear that's all the rage with iPhone apps these days).

Just do something simple, to encourage the otherwise-honest users to play by the rules, and leave it at that.

Pete
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to