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