取消归档静态库并获取源代码的可能性?

Nak*_*ran 2 objective-c static-libraries ios5

我计划在 iOS 中创建自定义框架,并提供给其他用户使用该框架,但我想保护用户的源代码。

经过一些研究,我发现静态库是实现它的方法之一,但我只想确认是否有可能取消归档 .a 文件并获取源代码。

请让我知道在创建静态库时要遵循的最佳实践。

pax*_*blo 6

档案往往包含代码而不是源代码,因此,不,他们无法仅通过从库中提取来获取您的源代码。

发生的情况是,您将源文件(例如xyzzy.cplugh.c)编译为对象(xyzzy.oplugh.o),然后将这些对象添加到存档库中,例如twistymaze.a.

源代码在任何时候都不需要放在存档文件中,仅仅因为您的客户不需要源代码来使用您的框架。

他们真正需要的是对象(单独的或库中的)和指定 API 的头文件。


这并不是说他们不能对您的目标文件进行逆向工程以获得源代码的近似值,但会丢失很多信息(注释、变量名称等)。

请记住,我们的想法不是打败精英,无论您尝试什么,他们都会打败您,就像没有银行金库是不可穿透的一样。这个想法是为了打败绝大多数可能会受到诱惑的路人。它们中的大多数都可以通过非常基本的措施(例如编译)来解决。