我正在为我开发的组件创建一个 .framework(或静态库),并且我想将其出售给第三方。
我计划添加一些代码来保护框架免遭未经授权的重复使用、重新分发或转售。
我认为实现这一点的一个好方法是要求购买者告诉我将使用框架的应用程序的捆绑 ID 是什么,将其作为 NSString 属性保存在框架中,并创建一个在运行时检查是否使用框架的应用程序的捆绑 ID 是否匹配。
但是,我还想免费试用该框架。因此,我只想在包含应用程序在发布模式下编译时启用捆绑 ID 检查,或者当应用程序在最终用户设备上运行时,在开发沙箱之外。
当然,我不能使用任何依赖于项目文件中设置的变量或宏的方法,因为它们太容易被利用。我需要在运行时进行......并且无需购买者采取任何行动。
有没有办法在运行时检查应用程序是否在开发人员沙箱中运行?或者,如果一个应用程序是使用发布构建配置文件构建的?
谢谢!