I had the same problem as in this question.
The solution doesn't discuss however how nm
, strings
or otool
can be used to search for offending code.
Let say that the offending code uses ASIdentifierManager
's advertisingIdentifier
method from the AdSupport.framework
.
Concretely, how can binary libraries be searched with
nm
,strings
orotool
?How come there is no linker error even though
AdSupport.framework
is not part of the "Link Binary With libraries" build phase or linked throughOTHER_LDFLAGS
?
Edit:
After debugging many projects I realized that the best way to check if (and where) a framework is used is simply trying to build the target without linking the framework neither in your Build Phases or using OTHER_LDFLAGS
.
If the linker fails you'll have the name of the class and library responsible for using it.
If it passes then you can explain to Apple that the framework is not being used desire showing up on their string searches. This worked for our applications to get accepted.