There is great interest in digital fingerprints for mobile devices. Given some recent steps from Apple: http://techcrunch.com/2014/02/07/openidfa-a-solution-to-idfa-related-app-store-rejections-debuts/ , there is increased interest.
This can be done by combining the features that make the device somewhat unique. This fingerprint does not have to be completely unique or 100% stable, just unique and stable enough so that for a short period of time (for example, 1 week), a click is selected when the application starts.
Here is the closed source version: https://github.com/ylechelle/OpenIDFA
And open source (from me): https://github.com/mcorner/ActuallyOpenIDFA/
There are a number of functions here: https://github.com/mcorner/ActuallyOpenIDFA/blob/master/aoi/aoi.m
Some obvious functions are not available without the permission of the user (location, contacts) and therefore cannot be used with advertising. Others cannot be used in different applications (for example, vendorID), so you cannot use the connection in one application with the launch of another. Others are not particularly stable (e.g. IP).
What other iOS features can I use?
There are several different approaches to creating a unique fingerprint of an ios device. The UUID + Keychain approach mentioned by davbryn is one of them, but not the most powerful. You can take a look at an application that belongs to my research project at the University of Erlangen-Nuremberg in Germany, the purpose of which is to uniquely identify the ios device:
https://itunes.apple.com/us/app/unique/id835879646?mt=8
In our research project, we are following an approach called a “fingerprint device”. The app explains in detail what it does to identify your device. After I finish my master's thesis, a document on this topic will be published.
Best of all, I managed to create a UUID and store it in a keychain. Works well enough to track the user, but you cannot track after reinstalling the OS, etc.