UDID is no longer available in iOS 6+ due to security / privacy reasons. Instead, use identifierForVendor
or advertisingIdentifier
.
identifierForVendor:
An alphanumeric string that uniquely identifies a device to the app’s
vendor. (read-only)
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.
advertisingIdentifier:
An alphanumeric string unique to each device, used only for serving
advertisements. (read-only)
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.
Also, see Apple's documentation for the identifierForVendor and advertisingIdentifier.