UDID is no longer available in iOS 6+ due to security / privacy reasons. Instead, use
An alphanumeric string that uniquely identifies a device to the appâ€™s
The value of this property is the same for apps that come from the
same vendor running on the same device. A different value is returned
for apps on the same device that come from different vendors, and for
apps on different devices regardless of vendor.
An alphanumeric string unique to each device, used only for serving
Unlike the identifierForVendor property of UIDevice, the same value is
returned to all vendors. This identifier may changeâ€”for example, if
the user erases the deviceâ€”so you should not cache it.
This post explains it well: http://oleb.net/blog/2012/09/udid-apis-in-ios-6/
Also, see Apple's documentation for the