如何限制任何开发人员使用我创建的静态库?

时间:2011-08-02 12:40:53

标签: iphone

我在iPhone sdk中创建了一个静态库,我担心如果我向使用静态库的任何人提供代码,那么任何人都可以使用静态库。那么有没有办法在获得许可之前使用库来限制它们?我是新手任何图书馆的许可证。

5 个答案:

答案 0 :(得分:21)

这是一个必须通过法律手段解决的问题,而不是任何技术解决方案。

确保只向您信任的人提供图书馆,如果需要,请让他们签署协议,不要传播它。

还要问问自己是否值得这么麻烦。您的代码是否如此独特,以至于无法在其他地方找到它,或者仅在几天内使用Google和stackoverflow自行复制它?

答案 1 :(得分:2)

正如@PeyloW所说,

  

这是您必须通过法律解决的问题   意味着,而非任何技术解决方案。

有一些简单的方法可以“阻止代码”:您可以创建一个RAR或ZIP存档,使用密码加密,获得许可后,您可以告诉他们密码。< / p>

答案 2 :(得分:1)

如果您想将“绑定”许可证发送给“开发人员的计算机”,那么您只需要一些可以绑定的东西。例如,它可以是模拟器的UDID。

您可以为仿真器的UDID生成许可证,并且仅限制仿真器开发,同时允许不受限制地访问ARM代码(在设备上)

  • 所以你基本上可以检查模拟器UDID
  • 检查许可文件
  • 如果许可证文件允许该UDID,则运行
  • 如果没有则显示消息等

出于开发目的,每个人都需要模拟器,所以我想限制它就足够了。

答案 3 :(得分:1)

就个人而言,我会创建一个新的静态库,检查您的代码覆盖率并仅复制使用它的应用程序所使用的代码。换句话说,不要放弃超过你需要的东西。

然后,正如评论中提到的那样,混淆了这些电话。如果你的电话必须被破译,你的图书馆将毫无价值而没有文件。可能的是,任何有能力破译你的电话意味着什么的人都可能已经完成了80%的白厅反向工程。

除非他们同意,否则您无法在最后一小时强制许可您的客户。因此,即使您确实试图强迫他们对您的图书馆进行许可,但在原始协议完好无损的情况下甚至可能无效。我会在你的时间价值的范围内进行伤害控制并将其作为一种学习经验。从现在起5个月后,你可能会将静态库重新计算到更好的状态。下次,你将在你的协议中做到这一点。

答案 4 :(得分:0)

如果你提供静态库,没有人可以取回代码。

您是否对使用静态库的其他人有所保留?