I have been looking at ways to uniquely identify an iOS device and making sure that our app is being used on the same device as was before phone was wiped.
I know that querying for UDID has been deprecated and that there is a new method to map a device to the app: CFUUID but the problem with that approach is this UUID given by CFUUID is different on every new install of the app.
EDIT: Actually I meant
[[UIDevice currentDevice] identifierForVendor]
and not CFUUID. Sorry for this, I was referring to this identifierForVendor which is different for each time the app is uninstalled. This is what I don't want in the app. There must be a way because I wiped my phone and Testflight was able to identify it as the same device. I want to know how they could have done it.
Services like testflight and maybe all analytics services are still being able to uniquely identify devices and users even after querying MAC address (which now returns the same number for all devices) and UDID has been deprecated. Can someone tell me a mechanism to uniquely identify an iOS device such that it can be identified even after a phone wipe.
I have looked into Apple OTA Configuration but I am not sure if that can help somehow track only the device and not sending back any provisioning profiles for users that log-in to our service.