Ok, Apple just announced that May will be the cutoff date for Apps that use the old UDID.
Supposedly, identifierForVendor replaces UDIDs by providing a unique ID per verdor, ie per developer.
Only, it doesn’t really. The identifierForVendor will reset every time the last App of a single developer is uninstalled.
Lets take Facebook as an example. You have the main Facebook and the messenger App installed. Both apps will report ID ‘A’. You uninstall messenger. Still ‘A’. You uninstall the main Facebook App. Reinstall messenger on the same device, and it will get ID ‘B’.
This provides extra privacy for the user but renders the id a lot less useful for providing things like free trials or preventing in app purchase fraud.
No idea why Apple chose to do this, according to them, this works as intended and the documentation needs to be updated to reflect this behavior.