Pertanyaan Membuat UUID dan UDID di iOS 7


Saya ingin membuat UUID, saya memiliki kode di bawah ini yang dapat membuat UUID, bagaimana cara membuat UDID dengan beberapa vendor ID yang sama di iOS7?

+ (NSString*) stringWithNewUUID
{
    CFUUIDRef uuidObj = CFUUIDCreate(nil);
    NSString *newUUID = (NSString*)CFUUIDCreateString(nil, uuidObj);
    CFRelease(uuidObj);
    return newUUID;
}

5
2017-10-09 06:41


asal


Jawaban:


Itu CFUUIDCreate fungsi menghasilkan versi 4 UUID yang diambil sepenuhnya dari generator nomor pseudo-acak. Tidak ada cap waktu atau alamat MAC yang disematkan dalam jenis UUID ini. (Itu mengacu pada rasa versi 1 yang sedikit digunakan.) Ini aman digunakan untuk hampir semua aplikasi.


6
2017-10-09 06:59



Metode ini mengembalikan UUID acak di iOS 6 dan di atasnya

[[UIDevice currentDevice]identifierForVendor]

5
2017-10-09 09:53



Saya telah membuat ID vendor dan kemudian menyimpannya dengan gantungan kunci, yang saya simpan untuk digunakan waktu berikutnya KeychainWrapper keychainStringFromMatchingIdentifier:...


4
2017-10-11 05:35



UUID yang dihasilkan kode di atas tidak memiliki stempel waktu yang dapat dipulihkan di dalamnya. Itu hanya string yang terlihat seperti ini: E1D87006-7CD0-4E28-9768-624DA92F75D6


2
2017-10-09 06:50



Saya mengikuti jawaban Sandeep Khade dan membuat kode berikut menggunakan PDKeychainBindings. Ini sama seperti menggunakan NSUserDefaults tetapi menyimpan identifier di keychain yang menyimpan data bahkan ketika aplikasi dihapus.

+ (NSString *)uniqueVendor {

    PDKeychainBindings *keychain = [PDKeychainBindings sharedKeychainBindings];
    NSString *uniqueIdentifier = [keychain objectForKey:kKeyVendor];

    if (!uniqueIdentifier || !uniqueIdentifier.length) {

        NSUUID *udid = [[UIDevice currentDevice] identifierForVendor];
        uniqueIdentifier = [udid UUIDString];
        [keychain setObject:uniqueIdentifier forKey:kKeyVendor];
    }

    return uniqueIdentifier;
}

0
2018-02-26 13:23