Puedes usar esto (Swift 3):
UIDevice.current.identifierForVendor!.uuidString
Para versiones anteriores:
UIDevice.currentDevice().identifierForVendor
o si quieres una cadena:
UIDevice.currentDevice().identifierForVendor!.UUIDString
Ya no hay una manera de identificar de forma exclusiva un dispositivo después de que el usuario desinstaló las aplicaciones. La documentación dice:
El valor en esta propiedad permanece igual mientras la aplicación (u otra aplicación del mismo proveedor) está instalada en el dispositivo iOS. El valor cambia cuando el usuario elimina todas las aplicaciones de ese proveedor del dispositivo y posteriormente reinstala una o más de ellas.
También puede leer este artículo de Mattt Thompson para obtener más detalles:
http://nshipster.com/uuid-udid-unique-identifier/
Actualización para Swift 4.1 , deberá utilizar:
UIDevice.current.identifierForVendor?.uuidString