2012-09-26 15 views
15

Ben olsun tanımlayıcıios5. Içindeki identifierForVendor nasıl kullanılır?

 deviceName = [[UIDevice currentDevice]uniqueIdentifier]; 

için aşağıdaki kodu kullanarak adres Ama uyarı uniqueIdentifier iOS5 önerilmiyor aldık.

Kimlik numarası ios5'te nasıl edinilir?

+0

[UIDevice uniqueIdentifier Deprecated - Şimdi Ne Yapılır?] 'Nın olası kopyası (http://stackoverflow.com/questions/6993325/uidevice-uniqueidentifier-deprecated-what-to-do-now) –

cevap

18

Aşağıdaki kodu

if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) { 
    // This will run if it is iOS6 or higher 
    return [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 
} else { 
    // This will run before iOS6 and you can use openUDID or other 
    // method to generate an identifier 
} 

Ve önceki dk gereksinimi koruyabilir bu şekilde kullanabilirsiniz.

Bu tanımlayıcı, bir satıcıdan tüm uygulamalar için benzersizdir. Eğer cihaz için benzersiz bir tanımlayıcı istiyorsanız kullanmak gerekir:

if (!NSClassFromString(@"ASIdentifierManager")) { 
    // This will run before iOS6 and you can use openUDID, per example... 
    return [OpenUDID value]; 
} 
return [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; 

Uyarı: Cihaz "hava yoluyla" güncellendi eğer "boş" tanımlayıcı raporları iOS6 üzerinde bir hata var - More info

J.Costa gösterdiği
0

Artık UUID'yi alamıyorsunuz. Bunu yapmak yasaktır, uygulamanız Apple tarafından reddedilecektir.

+2

Cihaz nasıl edinilir ios 6 bir fikrin token –

0

yöntem iOS 6.

için iyi biridir Ancak, ya da birkaç uygulamaların içinde kullanıcı telefonunu yükselttiğinizde (uygulamanızda Unle aynı tanımlayıcıyı tutmak istiyorsanız ss aynı Paketi Tohum kimliğini paylaşan), bunu kullanın: https://github.com/blackpixel/BPXLUUIDHandler

Çok yararlı! ios içinde

+0

için BPXLUUIDHandler çağrısı '[[UIDevice currentDevice] uniqueIdentifier] return;' iPhone 5 simülatörde başarısız olur (yani sebebi TARGET_IPHONE_SIMULATOR üzerinde koruma için ne olduğundan emin değilim). BPXLUUIDHandler uygun anahtar zinciri sabitleri eksik .... UDID bir Mac veya PC'de iTunes veya Apple'ın bulutunda görünebilir. Geliştirici odaklı güvenlik gereksinimleri gerçekten çukurlar. – jww

1

daha iyi [UIDevice identifierForVendor] kullanmak 7 veya sadece sahte MAC döndürülmeden çünkü, derde.