Это тоже был мой вопрос, и мне понравился ответ, но я хотел бы привести здесь код, и я знаю, что он старый, но, возможно, он может кому-то помочь:
// DataWithLength is a byte size of UUID. So 32 bytes = 256 bits string
- (NSString*)generateSecureUUID {
NSMutableData *data = [NSMutableData dataWithLength:32];
int result = SecRandomCopyBytes(NULL, 32, data.mutableBytes);
NSAssert(result == 0, @"Error generating random bytes: %d", errno);
NSString *base64EncodedData = [data base64EncodedStringWithOptions:0];
return base64EncodedData;
}