我已经实现了这个方法来获取advertisingIdentifier和identifierForVendor:
- (NSString *) advertisingIdentifier
{
if (!NSClassFromString(@"ASIdentifierManager")) {
return [OpenUDID value];
}
return [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
}
- (NSString *) identifierForVendor
{
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
}
return @"";
}
- (BOOL)isAdvertisingTrackingEnabled
{
if (NSClassFromString(@"ASIdentifierManager") && ![[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
在模拟器上一切正常,我可以获得2个字符串ID表示.
但是当我从带有iOS 6.0的iPhone 3GS(10A403)运行时,这两种方法返回"00000000-0000-0000-0000-000000000000"作为标识符.已经完成了: