Le advertisingIdentifier et identifierForVendor retour “00000000-0000-0000-0000-000000000000”

J'ai mis en œuvre cette méthode pour obtenir advertisingIdentifier et 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;
}

Sur simulateur tout fonctionne comme il doit l'être, et je peux récupérer les 2 cordes les Id de représentation.

Mais quand je le lance à partir de l'iPhone 3GS avec iOS 6.0 (10A403), ces 2 méthodes de retour "00000000-0000-0000-0000-000000000000" comme identifiant.
Déjà fait:

  • Redémarré l'appareil
  • Retiré de l'app et réinstallé
  • Créé Ad Hoc pour construire, installé, enlevé et installé de nouveau
  • Exécuter ce code à partir d'une autre application
  • Testé sur iPad 2 avec iOS 6.0 (10A403) et tout s'est ok (j'ai le bon identifiants)
InformationsquelleAutor J. Costa | 2012-09-26