See whether UIDevice identifierForVendor introduced in iOS 6 would work for your purposes.
An alphanumeric string that uniquely identifies a device to the app’s vendor. (read-only)@property(nonatomic, readonly, retain) NSUUID *identifierForVendor
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 onthe same device that come from different vendors, and for apps on different devices regardles of vendor.
- Available in iOS 6.0 and later.
There are several open source libraries floating around to provide similar (not exactly the same) functionality as uniqueIdentifer in iOS 5+. Some are UIDevice categories so would be very easy to drop into an existing project that formerly used UIDevice uniqueIdentifier. Some derive the identifier from MAC address and app bundle identifier, some don't. Read carefully how each works, including the license terms. Two examples, I am sure there are more: