使用nm,string和/或otool来查找哪个库错误地使用框架或方法
我在这个问题上有同样的问题。
该解决scheme不讨论如何nm
, strings
或otool
可以用来search有问题的代码。
假设有问题的代码使用ASIdentifierManager
的advertisingIdentifier
方法。
-
具体而言,二进制库如何用
nm
,strings
或otool
进行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的愿望。 这对我们的应用程序得到接受的工作。