在运行时检查“发布构build”

我正在为我开发的一个组件创build一个.framework(或一个静态库),并且我想卖给第三方。

我正计划添加一些代码来保护框架免遭未经授权的重新使用,重新分配或转售。

我认为实现这一目标的一个好方法是要求购买者告诉我什么是将使用该框架的应用程序的包ID,将其作为NSString属性保存在框架中,并创build一个方法,在运行时检查使用框架的应用程序的包ID是否匹配。

不过,我也想让这个框架免费试用。 因此,我希望只启用包ID检查,然后将包含的应用程序编译为发布模式,或者当应用程序在最终用户设备上运行时,位于开发沙箱外部。

当然,我不能使用依赖项目文件中设置的variables或macros的任何方法,因为它们太容易被利用。 我需要在运行时间…而不需要购买者采取任何行动。

有没有办法在运行时检查应用程序是否在开发人员沙箱中运行? 或者,如果应用程序是使用发布版本configuration文件构build的?

谢谢!

在过去,我已经实施了一个简单的定时炸弹到期免费评估,但不能自由部署组件。 图书馆将运行到某个dateX,然后停止工作。 用户只需要重新下载最新的数据以继续评估。 一个付费订单,提供一个下载链接没有定时炸弹或许可证文件与数字签名的许可证禁用定时炸弹逻辑在一起。 依靠运行时的环境特性最多是脆弱的。