We\'re working on a project with my colleagues which involves using a lot of private and non official code. This is not intended for AppStore use.
The f
What about this: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/#//apple_ref/occ/instp/UIDevice/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.
Since iOS 6 and current in iOS 8
This meets your requirement of:
any permanent hardware identifier unique enough to identify a device that would persist in spite of device wipes and amongst different iOS versions
This is documented to be unique per device and persistent whether from app store or enterprise delivered.
Normally, the vendor is determined by data provided by the App Store. If the app was not installed from the app store (such as enterprise apps and apps still in development), then a vendor identifier is calculated based on the app’s bundle ID. The bundle ID is assumed to be in reverse-DNS format.