Validate Apple Unique Device ID

Good day experts,

If this question is in-violation of any of the rules here, let me know. Thank you.

I am asked to explore Apple iPhone applications and we hope to track unique users for the purpose of one account per user. (Who doesn't use an Apple device these days)

Please do not laugh at me. I am not Apple trained and now it is a good time for me to explore. *looks around sheepishly*

From my rudimentary readings on the internet, I am aware each apple device has a unique device Id that I may use to validate user accounts..

I have some queries I hope some experts here may shed some light.

1) Does iMac, Macbook, iPod, Apple Tv contains the Apple Unique device ID or is the Apple Unique device Id only applicable for iPhone/iPad?

2) Are there any documentations from Apple which I can read up more from?

3) What is the best way to validate a Apple Unique Device Id to ensure it is not a spoofed ID?

4) Is the Apple Unique Device ID algorithm open to public? Is it possible to generate/spoof your own IDs?

 
a1damianAsked:
Who is Participating?
 
d-glitchConnect With a Mentor Commented:
Apple has an SDK for developers.
Is there any reason not to pursue this approach?

     Registered Apple Developers can access iOS SDK 4 for developing iPad,
     iPhone and iPod touch applications.

    http://developer.apple.com/devcenter/ios/index.action


This article suggests that some people find it frustrating and look for other
(unspecified) methods.

     http://mobiforge.com/developing/story/deploying-iphone-apps-real-devices
0
 
pgnatyukConnect With a Mentor Commented:
Create a Universally Unique Identifier (UUID)
http://iphonedevelopertips.com/general/create-a-universally-unique-identifier-uuid.html

The code below is from this link.
- (NSString *)createUUID
{
  // Create universally unique identifier (object)
  CFUUIDRef uuidObject = CFUUIDCreate(kCFAllocatorDefault);
 
  // Get the string representation of CFUUID object.
  NSString *uuidStr = (NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject);
 
  // If needed, here is how to get a representation in bytes, returned as a structure
  // typedef struct {
  //   UInt8 byte0;
  //   UInt8 byte1;
  //   ...
  //   UInt8 byte15;
  // } CFUUIDBytes;
  CFUUIDBytes bytes = CFUUIDGetUUIDBytes(uuidObject);
 
  CFRelease(uuidObject);
 
  return uuidStr;
}

Open in new window

0
 
amateusnConnect With a Mentor Commented:
1) Actually not the iMac specificly, but the snow leopard has a unique ID, and somehow, every Apple device has an unique ID.

2) In this link there is a lot of articles of a lot of Apple discussions, it's a good start.

3)As soon you turn on your device the ID will be validated.

4)No, it's far from open.
0
 
a1damianAuthor Commented:
Thanks. Helpful
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.