如何探索 NSBundle 内容?

How to explore NSBundle contents?

我有一个名为 main.jsbundle 的 NSBundle 文件,由 react-native bundle 打包,我可以使用哪个工具来探索它的内容?我可以看到它里面有缩小的 js 代码,还有文件开头的某种索引。我需要提取js代码才能调试问题。

NSBundle 是一个完全不同的东西——它是原生的 class 代表苹果格式的打包应用程序和框架,允许从原生代码访问和操作它。

你问的是 React Native bundle,这是一个相当松散的概念,即一个缩小的 JS 代码文件 + 一个用于图像和数据的资产文件夹。您实际上可以使用 uglify-js 等常规工具对 js-bundle 进行去最小化并尝试检查它。

您还可以使用 , and maybe metro-symbolicate 了解捆绑包中的缩小代码如何映射到实际源代码,尽管在不知道手头问题的情况下我不能推荐任何更具体的内容。 metro-symbolicate 也没有文档,这意味着您必须了解其来源。

正如@ivanmoskalev 所指出的,这可能不一定是 NSBundle。无论如何,通过 strings 输出文件几乎只输出文件的 javascript 部分,所以这对我有用。