Identyfikator advertisingIdentifier i identyfikatorForVendor zwracają „00000000-0000-0000-0000-000000000000”
Zaimplementowałem te metody, aby uzyskaćadvertisingIdentifier
iidentifierForVendor
:
- (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;
}
Na symulatorze wszystko działa tak jak powinno i mogę uzyskać reprezentację 2 ciągów znaków.
Ale kiedy uruchamiam z iPhone 3GS z iOS 6.0 (10A403), te dwie metody zwracają „00000000-0000-0000-0000-000000000000” jako identyfikator. Już zrobione:
Zrestartowano urządzenieUsunięto aplikację i ponownie zainstalowanoUtworzono i zainstalowano Ad-Hoc, zainstalowano, usunięto i ponownie zainstalowanoUruchom ten kod z innej aplikacjiPrzetestowany na iPadzie 2 z iOS 6.0 (10A403) i wszystko poszłook (mam poprawne identyfikatory)