Validate Apple Unique Device ID

Posted on 2010-11-28
Medium Priority
Last Modified: 2012-05-10
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?

Question by:a1damian
LVL 27

Accepted Solution

d-glitch earned 501 total points
ID: 34225345
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.


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

LVL 33

Assisted Solution

pgnatyuk earned 501 total points
ID: 34228087
Create a Universally Unique Identifier (UUID)

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);
  return uuidStr;

Open in new window


Assisted Solution

amateusn earned 498 total points
ID: 34290439
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.

Author Closing Comment

ID: 34344611
Thanks. Helpful

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

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.

Join & Write a Comment

Learn to move / copy / export exchange contacts to iPhone without using any software. Also see the issues in configuration of exchange with iPhone to migrate contacts.
Email is way too noisy, prone to hiding the important stuff, and really becoming unreliable for critical/timely communications. There are better ways to communicate.
This video demonstrates how to sync Microsoft Exchange Public Folders with smartphones using CodeTwo Exchange Sync and Exchange ActiveSync. To learn more about CodeTwo Exchange Sync and download the free trial, go to: http://www.codetwo.com/excha…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

587 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question