如何检测哪个第三sdk使用UDID?

我们使用了很多来自广告提供商的第三方软件开发工具包,而且由于苹果在5月1日之后将不允许UDID访问,所以我想检查哪些SDK使用了UDIDfunction。 有没有简单的方法或工具来做到这一点?

一个简单而幼稚的方法是在库文件上运行stringsgrep 。 即

 strings libSomething.a | grep uniqueIdentifier 

如果您看到任何打印完全uniqueIdentifier行,则存在风险。 这种方法不是100%防弹。 但我希望苹果在自动validation中做类似的检查。

你可以设置一个符号断点 – [UIDevice uniqueIdentifier]

你为什么不尝试secureudid(secureudid.org)?

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

尝试这个