2017-08-28 72 views
0

我想,所以我用这个方式来获得.m文件的源代码:我可以从.m文件获取源代码吗?

NSString *path = [[NSBundle mainBundle] pathForResource:@"ViewController" ofType:@".m"]; 
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; 
NSLog(@"%@", content); 

但是控制台打印“空”。

我想知道是否有任何方法可以用来获取.m文件的内容,即使使用私有方法。

+1

你不能得到它,因为所有的源代码都编译成二进制。您的替代方案是制作源代码的副本,将其重命名为其他扩展名,如.txt并将其添加到您的包中,然后您可以在上面的代码中使用它。 – GeneCode

回答

0

如果您要将应用程序捆绑包中的实际源文件复制并包含在其中,那么当然可以,但我不知道为什么要这么做。

如果您想知道是否可以将二进制文件反编译回Objective-C代码,那么不可以,至少不能简单地这样做。如果你有足够的汇编语言技能,当然,你可以阅读代码的反汇编,找出最初的Objective-C做了什么,然后用这些知识重新创建它。

相关问题