【发布时间】:2009-11-19 23:14:23
【问题描述】:
我想知道是否可以对静态库的消费者隐藏库实现。
这个很棒的帖子引发了一些关于静态库许可系统的问题:Licensing system for static library。我想使用的方案是:
- 向消费者提供他们放入 plist 的许可证密钥
- plist 已部署
- 强键是根据包标识符生成的,并与 plist 中的键匹配
这就是该系统存在缺陷的原因:我需要运行一个算法(用于动态生成强密钥),然后输出一些字符串。问题是我必须包含要使用的库的头文件。此时,任何使用该库的人都可以进入实现。如果我有一个名为 checkLicense() 的方法,该库的使用者可以进入该方法并查看强密钥是如何生成的。
另外,对于静态方法,我是否每次都运行密钥生成,因为没有任何状态?我可能可以使用单例并在每个静态方法调用中调用它?
我的主要问题是,如果您有头文件,则可以在静态库中看到实现。有什么方法可以隐藏实现吗?
【问题讨论】:
标签: iphone objective-c cocoa-touch xcode