3

I have to show other people a project I'm working on but I want to protect a framework in the project from being readable. I just packed all the code in the framework and added it to the project.

The problem is that when the framework calls some delegate methods and I set a breakpoint to those Xcode shows the full .m / .mm files where those calls come from. How can I prevent that? I want to protect my code.

4

2 回答 2

4

您只看到代码是因为它在您的机器上可用并且 Spotlight 可以找到它。如果您分发已编译的框架二进制文件,则源代码不会显示在调试器中,但方法的名称会显示。剥离二进制文件(“剥离链接产品”)将删除一些函数名称,但不会删除方法名称,因为这些名称必须在运行时可用才能使消息分发起作用。这将使使用崩溃日志变得更加困难,因此除非您确实需要节省空间,否则我通常不推荐它。

请记住,您可以(或应该)做的事情只有这么多才能防止逆向工程。所有语言都受到逆向工程的影响,但 ObjC 本质上特别容易受到影响。有关这方面的更多讨论,请参阅反编译 Objective-C 库。

于 2012-10-24T00:38:52.103 回答
1

将您的框架编译成二进制文件。这将“保护”源代码不被阅读,只公开头文件(您选择)。

于 2012-10-24T00:26:24.867 回答