You can leave a small self-contained program running until the current user 
session is terminated once your app is started on a machine and expose its 
usage through Bonjour. And then when the free version of your app is starting 
it scans bonjour for such services, and refuse to launch if the service shows 
up in more than allowed number of machines and there is no such service running 
on the current machine.

Licensing can be done by including a licensing server in the commercial version 
of the software, also discovered using Bonjour.

You will need to put some cryptography into this or this system will be easily 
defeated.

> On Jul 24, 2015, at 20:41, 2551 <[email protected]> wrote:
> 
> Friends, 
> 
> Platform: OSX 
> 
> Distribution: Outside of App Store
> 
> Aim: I want to distinguish “ordinary users” of my app from “commercial 
> users”, where the latter might be defined as anyone installing my app on 5 or 
> 10 (pick a number) different macs. 
> 
> Rationale: I want to offer my app for free to home users, but have those who 
> use my app for commercial purposes (encouraged to) pay something. I know I 
> can stipulate that in the licence, but since I’m a small, indie developer 
> there’s no way I can enforce a licence in any case.
> 
> I know how to get the machine identifier, but I don’t know how to write that 
> information back to the app. I see from my search-fu (never the strongest) 
> that modifying the info.plist is “not the done thing” and will fail under 
> some circumstances. 
> 
> Commercial users of my app are likely to run the same copy from a USB Flash 
> drive on many machines. 
> 
> Is there some logic I can use and save in my code to track the number of 
> installs and whether they’re on the same machine or not?
> 
> 
> TIA
> 
> 
> Phil
> _______________________________________________
> 
> Cocoa-dev mailing list ([email protected])
> 
> 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:
> https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info
> 
> This email sent to [email protected]

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to