我已经制作了一个Swift应用程序,我想基于产品密钥或许可证密钥分发该应用程序。我不打算将此应用程序发布到应用程序商店,而是要在公司设备上构建该应用程序并为他们提供产品密钥,因为我想分发给许多公司。该应用程序将首次询问产品密钥,并且不会再询问一次。
我认为的一种方法是使用正则表达式创建产品密钥模型,但是我坚持了很长时间。有人知道吗?
答案 0 :(得分:2)
DRM是一个古老的问题,实际上无法解决。您的问题在某种程度上使这一点变得微不足道。有一个很好的经验法则:如果您的软件在用户计算机上运行,则他们可以使用它执行任何操作-这包括避免实施任何DRM。
有多种解决方法-不要在用户计算机上运行软件。例如,如果该软件的主要目的是将Word文档转换为PDF,则将此功能提取到API服务,而将您的产品密钥解决方案用作使用该服务的授权解决方案。
我的一般观点是您正在错误地解决此问题,当软件在用户的完全控制下运行时,无法解决。
答案 1 :(得分:0)
我不确定这是否完全是一个完整的问题,因此我想说创建一个简单的登录屏幕,并使用产品密钥和一组唯一的公司电子邮件地址进行映射。假设我在Grizzle工作:我给我的产品密钥是“ 12345”,我的电子邮件是samgriz@griz.io。那么您可以编写一个接受这两个参数的终结点,并根据已知的成对产品密钥列表对它们进行验证在后端有电子邮件。
您还可以通过TestFlight分发此应用程序,并让人们通过公共链接下载该程序(今年在WWDC上刚刚发布)。这样一来,您不必在每部手机上进行手动安装,您就可以在TestFlight上使用多达10,000个用户。