It's not a big deal. Just use the:<p><pre><code> [[ASIdentifierManager sharedManager] advertisingIdentifier];
</code></pre>
for advertising across apps from different vendors or:<p><pre><code> [[UIDevice currentDevice] identifierForVendor];
</code></pre>
for tracking your own library of apps or save a:<p><pre><code> CFUUIDCreate();
</code></pre>
for tracking a specific app.<p>Developers who are upset that these IDs could be changed by the user if they restore their device or deliberately reset them are precisely the privacy violators that Apple are trying to eliminate. Yes, there are keychain tricks to create a more persistent ID (or MAC IDs to identify the device, regardless of user) but if you truly need long-term persistent, unique identification users, have them log into your service instead of trying to steal their identity without permission.<p><i>Edit</i>: I forgot to mention another clean option for persistent identification... store a uuid from CFUUIDCreate() in an iCloud ubiquity container. Yes, the user will need to have an iCloud account and allow your app to store there. However, it does not require the user log into anything new and is the only measure that will follow a user through both app deletion and device changes (other than logging into your servers).