How to detect which 3rd sdk use UDID?

2019-01-25 20:52发布

问题:

We use a lot of third-party SDKs from ad providers, and since Apple will not allow UDID access after May 1st, I want to check which SDKs use the UDID function. Is there a simple way or tool to do that?

回答1:

One simple and naïve method is to run strings and grep on the library files. i.e.

strings libSomething.a | grep uniqueIdentifier

If you see any line that prints exactly uniqueIdentifier there is a risk they call it. This method is not 100% bullet proof. But I'd expect Apple doing a similar check in their automatic validation.



回答2:

You could set a symbolic breakpoint for -[UIDevice uniqueIdentifier]



回答3:

Why don't you try secureudid (secureudid.org)?



回答4:

NSString *uuid = nil;
CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault);
if (theUUID) {
  uuid = NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID));
  [uuid autorelease];
 CFRelease(theUUID);
}

try this