Apple will reject apps that use platforminfo$("ID").
Should I change the return value to an app-specific value?
as I wrote in a previous tread, I think you should use OpenUdid for that PlatformInfo to been save.
I noticed a lot of apps have started to release updates that state they no longer collect UDID. There's a problem with legality on collecting this type of information without permission I believe.
Yes. It's not alowed to track users across different apps.
I use platforminfo$ to get device ID, then encode and save it on .ini files, so I can store that this device has, for example, bought the full app. We need a unique device ID; if not, copying this .ini file to any other device will "register" the app...
Oh, and I think 2 of my apps has been approved doing so, and when the policy was there.
I vote for MAC ADDRESS too.
:)
I thonk about writing an rnd() to a hidden file in appdata?
rnd() is not good at all, its wont been device unique, so OpenUDID is still the best alternative.
OpenUDID uses CFUUIDCreate for iOs, which is sort of rnd() (a bit comes from current hardware status as well (time, gps position and so on...)
So, I think I will go this route.
[edit]
My ID would be: B3E3DF8E088D864F640E303F86ABF68E. It seems very unique. I used a method as in Windows GUID creation.
uh-oh! What happens if a user uninstalls an app (on mobile platforms, only) and reinstalls it - the ID will be lost then. On desktops, the id will be system-wide the same and stay there until a reinstall of the OS.
So, in order to restore "purchases" or something, this would be bad.
Is that a problem?
I don't think it's a problem since restore purchases is iTunes account based. Its possible to restore purchases on all devices that is tied to same account. So its not udid based.
You can't do a workaround without some sort of account If you want id the user today.