Ich habe diese Methoden implementiert advertisingIdentifier
und identifierForVendor
zu bekommen: wie sollte es sein und ich kannDie advertisingIdentifier und identifierForVendor return „00000000-0000-0000-0000-000000000000“
- (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;
}
Auf Simulator alles funktioniert bekommen die 2 Zeichenfolgen ID-Darstellung.
Aber Wenn ich vom iPhone 3GS mit iOS 6.0 (10A403) starte, geben diese 2 Methoden "00000000-0000-0000-0000-000000000000" als Kennung zurück. bereits getan:
- das Gerät neu gestartet
- die App entfernt und neu installiert
- Erstellt und Ad-Hoc-Build installiert, entfernt und wieder
- Führen Sie diesen Code aus einer anderen App installiert
- Getestet auf iPad 2 mit iOS 6.0 (10A403) und alles ging ok (ich habe die richtigen Bezeichner)
Dies scheint korrekt zu sein, wie ich nach [Suche] (https://devforums.apple.com/search.jspa?resultTypes=MESSAGE&peopleEnabled=true&q=00000000-0000-0000-0000-000000000000) auf Apple gefunden habe Foren (Sie müssen sich mit Ihrem Entwicklerkonto anmelden) –
Es ist ziemlich ordentlich, wie Apple etwas (UID) entfernt und durch etwas ersetzt hat, das * nicht funktioniert *. –
Wir haben gerade ein paar Geräte auf iOS 6.0.1 over-the-air aktualisiert und 'identifierForVendor' scheint behoben zu sein. – MattP