2017-08-28 73 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做了什麼,然後用這些知識重新創建它。

相關問題