views:

1131

answers:

3

On the iPhone, a unique identifier is available which is guaranteed to be unique and is tied to the serial number. This is the one:

[[UIDevice currentDevice] uniqueIdentifier]

According to the documentation, there are restrictions on using it:

"It is guaranteed to be unique for every device but cannot publically be tied to a user account. You can use it, for example, to store high scores for a game in a central server or to control access to registered products"

Cannot publically be tied to a user account? Does this mean that you cannot link the UID to a user name/login on a backend server?

A: 

I think this means you can't display the UDID. So you can show Bob's iPhone but not XYZ1234566

John
+1  A: 

I think the remark is to remind developers that a single user with a single user account can have multiple devices (or change devices, devices change owners), and you should not set up your back end in such a way that only one UDID can be linked to one account. And as John said, not to display those UDID's in a list.

drvdijk
+3  A: 

Normally. a user can create different identities for different uses (say a work site and a social site that they want to keep separate). If those sites were to publish the UDID along with the user name, it would be trivial to tie those identities together, which is bad for privacy.

Additionally, as rpetrich points out in the comments, it's possible to fake the UDID (presumably on a jailbroken phone), so don't rely on it as a secure authentication for anything important.

You should also keep in mind that users do upgrade hardware (or get it replaced when they drop it in the swimming pool), so you should allow for changing (or better, multiple) UDID for a single user.

Frank Szczerba
This makes sense, but is there a document available that explains in detail what's allowed and what not?
Philippe Leybaert
Note that it says "cannot *publically* be tied to a user account". You can link them in your back end, just don't ever publish the association. (YMMV, IANAL, etc).In general, when you see restrictions like this (or even just suspect that such a restriction might exist), just reason through the privacy, bandwidth, etc, issues in play. Apple usually has a good reason for their restrictions, as annoying as they may be at times.
Frank Szczerba
Tapulous has gotten in trouble for doing just this:http://www.ipodtouchfans.com/forums/showthread.php?t=214415
rpetrich