So, since Apple is now rejecting apps that access UDID, on our company\'s current project, we need to eliminate all APIs that make a call to this property:
[[UID
To expand on Quinn's answer:
strings
lists all the symbols in a compiled object or library, in order of first appearance per class. If you see uniqueIdentifier
in the output, it's possible that they're calling some other method with that name. But if you see currentDevice
in the output immediately followed by uniqueIdentifier
, then they're almost certainly calling [[UIDevice currentDevice] uniqueIdentifier]
. It's possible that the two lines would not be sequential, if the library is calling currentDevice
earlier in the file.otool -ov
lists all the classes, methods, and imports in the library. If it lists uniqueIdentifier
, that likely means the library is defining its own method with that name. Look at the reference in context. At the bottom of each class you'll see a section like Contents of (__DATA,__objc_classrefs) section
that lists the imports. If _OBJC_CLASS_$_UIDevice
is listed among the imports for the class you found referencing uniqueIdentifier
, then there's a good chance that class is calling -[UIDevice uniqueIdentifier]
.nm
is similar to otool
for this purpose. Specifically, it won't show you calls to uniqueIdentifier
, but it will show you what classes import UIDevice
.