使用nm,string和/或otool来查找哪个库错误地使用框架或方法

我在这个问题上有同样的问题。

该解决scheme不讨论如何nmstringsotool可以用来search有问题的代码。

假设有问题的代码使用ASIdentifierManageradvertisingIdentifier方法。

  • 具体而言,二进制库如何用nmstringsotool进行search?

  • 即使AdSupport.framework不是“Link Binary With libraries”构build阶段的一部分,或者是通过OTHER_LDFLAGS链接的,也没有链接器错误?

编辑:

在debugging了很多项目之后,我意识到检查框架是否被使用的最好方法是简单地尝试构build目标,而不是在构build阶段或使用OTHER_LDFLAGS链接框架。

如果链接器失败,您将拥有负责使用它的类和库的名称。

如果它通过,那么你可以向苹果解释,框架没有被用来显示他们的stringsearch的愿望。 这对我们的应用程序得到接受的工作。

首先,你应该find你的项目使用的lib,如libxxx.a(libxxx.o)。 然后使用nm / otool / strings,就好像

 nm libxxx.a 

其他参数和grep可以被添加以供参考。

在debugging了很多项目之后,我意识到检查框架是否被使用的最好方法是简单地尝试构build目标,而不是在构build阶段或使用OTHER_LDFLAGS链接框架。

如果链接器失败,您将拥有负责使用它的类和库的名称。

如果它通过,那么你可以向苹果解释,框架没有被用来显示他们的stringsearch的愿望。 这对我们的应用程序得到接受的工作。