我必须向其他人展示我正在开发的项目,但我希望保护项目中的框架不被可读。我刚刚在框架中打包了所有代码并将其添加到项目中。
问题是,当框架调用一些委托方法并且我为这些Xcode设置断点时,会显示那些调用来自的完整.m / .mm文件。我怎么能防止这种情况?我想保护我的代码。
答案 0 :(得分:4)
您只看到代码,因为它可以在您的计算机上使用,Spotlight可以找到它。如果您分发已编译的框架二进制文件,则源代码将不会显示在调试器中,尽管方法的名称将会出现。剥离二进制文件(“Strip Linked Product”)将删除一些函数名称,但不删除方法,因为这些函数必须在运行时可用才能使消息调度工作。这将使得使用崩溃日志变得更加困难,所以除非你真的需要节省空间,否则我通常不会推荐它。
请记住,您可以(或应该)做很多事情来防止逆向工程。所有语言都受到逆向工程的影响,但ObjC特别容易受到其性质的影响。有关详细信息,请参阅Decompiling Objective-C libraries。
答案 1 :(得分:1)
将您的框架编译为二进制文件。这将“保护”源代码不被读取,只有头文件(您选择)被公开。