小编J. *_*sta的帖子

advertisingIdentifier和identifierForVendor返回"00000000-0000-0000-0000-000000000000"

我已经实现了这个方法来获取advertisingIdentifieridentifierForVendor:

- (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"作为标识符.已经完成了:

  • 重启设备
  • 删除了应用程序并重新安装
  • 创建和Ad-Hoc再次构建,安装,删除和安装
  • 从另一个应用程序运行此代码
  • 使用iOS 6.0(10A403)在iPad 2上测试,一切正常(我有正确的标识符)

xcode ads ios ios6

25
推荐指数
2
解决办法
2万
查看次数

标签 统计

ads ×1

ios ×1

ios6 ×1

xcode ×1