I wonder how I can track a user nowadays without user account.
From what I have seen, the best solution is to store an id into an SSKeychain.
From this post: https://stackoverflow.com/a/21097282/3722523, the user stores the NSUUID in the keychain.
Do you think Apple will validate my application with that solution?
If yes, if I have a database, can I store the NSUUID in my database?
Thank you.
Edit: For a purpose, I need to allow user to add only 1 pin on the Map per day. My app has a database, but I don't want to set user account for now. So I have to track the user, even if he unistalls and reinstalls the app.
What about using the iCloud KVS (key value store) to store some sort of setting that keeps track of the user's last pin? It would apply accross devices, but it could be circumvented relatively easily if the user has iCloud Documents and Data syncing turned off. It would be within Apple's guidelines, and it would probably work if your restriction isn't an absolute must.
It would persist between multiple installs, and it would also provide the benefit of preventing users from adding multiple pins through multiple devices.