如何销售带有许可证的框架以及如何限制用户限制它

Dee*_*pak 5 iphone frameworks static-libraries ios ios-frameworks

如果我想把一个框架库出售给那么我怎么能把许可证放到它上面,以便它不能被iOS/iPhone转让.

我的想法很少:

  1. 我可以实现一个Web服务,然后我认为可以在线下访问.
  2. 它可以给有限的人,但如果应用程序继续现场我们如何处理.

任何信息都会有所帮助.问候.

Hol*_*lly 5

出于这个答案的目的,我将跳过有关如何制作框架的部分.有很多帖子可以解释这一部分.

许可框架的业务逻辑比实际实现困难得多.你应该先为自己回答几个问题:

  1. 什么是许可证模型?每位用户?每个申请?每个开发者?
  2. 我是谁以这个框架为目标?
  3. 我的许可限制是一个硬限制(如果超出应用程序停止工作)或软限制(应用程序继续工作,但我发现所以我可以收取更多的钱)?
  4. 我愿意花多少钱来执行诚实?我需要多少额外的钱才能证明我的执行费用是合理的?

如果您可以为每个应用程序构建许可证模型,那么您将最容易执行许可证.每个应用都需要一个解锁代码,该代码特定于应用包名称.如果捆绑包名称不匹配,则密钥不起作用,并强制执行您的许可证.

每个开发人员的许可证有点棘手.通常,您必须依赖购买应用程序的人的诚实.我不知道有任何好的机制来强制执行每个开发人员许可证.

每个用户的许可,因为您的问题似乎是针对性的,您可以使用更广泛的机制.最基本的是在合同中强制执行参数.大多数合同都有月度或季度报告标准.这会给您的客户带来负担,让他们在添加新客户端时保持最新状态.如果您针对专业开发人员定位框架,这可能是一个足够准确的机制.

如果您的目标是入门级开发人员,那么很可能会从地图中删除,如果您想强制执行许可,则必须使用更严格的机制.他们都需要Web服务来管理您的许可证.

您的代码需要返回到Web服务并提供安装标识符,例如[UIDevice -identifierForVendor]Bundle Identifier.这将准确计算您的图书馆的安装数量以及使用者的数量.

此时,您决定如何强制执行许可.如果您对用户有硬限制,我建议不要使用,如果超出了应用程序包的许可用户数,您可以拒绝解锁库.如果你有一个软限制,这也是我做建议,你让大家总是解锁,然后应用厂商寻求超越他们的授权用户数量,或者可能不具有牌照的毕竟去.

通常适当的方法是使用硬限制和软限制的组合.该应用必须至少每14天向网络服务报告一次,以便离线使用.如果库未在该窗口中报告,则它将停止工作.Web服务决定是否仅根据应用程序包标识符解锁库.如果特定捆绑包的许可证超过了席位数,则通知他们并给他们一个窗口(可能是90天)以购买更多许可证.如果它们拒绝,则阻止该Bundle Identifier.然后,您的客户可以从捆绑包中删除您的框架或协商新的许可证.

这一切的不利因素都需要资金和开发时间.在大多数情况下,通过许可代码可以获得的资金超过了构建和维护此类系统所需的工作量.如果您有1个用户或1,000,000个用户,后端的维护和维护成本几乎相同.在沿着这条路走下去之前,请确保您有足够的用户来证明工作量和费用.