Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

An alternative to the device UDID - preparing ourselves [duplicate]

Possible Duplicate:
UIDevice uniqueIdentifier Deprecated - What To Do Now?

I know there have been quite a few questions on SO about this, but I think that because Apple is moving ahead of schedule and actively denying applications that make use of UDIDs (http://pulse.me/s/7mzKE), us developers need to take an active approach and discuss this matter in bulk.

So the question is - what is a good, stable and correct alternative for unique device identification, other than accessing it's UDID property?

like image 541
Stavash Avatar asked Mar 25 '12 08:03

Stavash


People also ask

Is UDID same as device ID?

Every Apple iPhone, iPod touch and iPad has a unique device ID number associated with it, known as a Unique Device ID (UDID). Apple's device ID is a 40-digit sequence of letters and numbers. Customers can access their device ID numbers in iTunes or by downloading a free app from the Apple App Store.

Is UDID deprecated?

Since announcing that UDID would be deprecated, Apple has launched IDFA (Apple's Identifier for Advertising), an ID that can be used in similar fashion, but gives users the option to opt out. IDFA is compliant with Apple's own guidelines, as well as COPPA and the FTC, and offers better privacy options for consumers.

Does Apple still use UDID?

Apple has informed app developers that it will no longer allow apps to use the unique device identifier or UDID after May 1, according to a post on Apple's developer website. Instead, Apple requests developers use the new 'Vendor or Advertising identifiers' that were introduced in iOS 6.

How do I change the UUID on my iPhone?

You can't physically change your UDID. And in order to generate fake UDID,you can use UDID faker,which requires jailbreaking. UDIDFaker is a jailbreak app for the iPhone/iPod Touch that changes your default UDID of an app to anything you want. You can hit the random button for a random UDID.


1 Answers

This depends on your needs...if you're looking for a simple device identifier for your application to use, then the documentation on the deprecated uniqueIdentifier method pretty much provides your answer:

Do not use the uniqueIdentifier property. To create a unique identifier specific to your app, you can call the CFUUIDCreate function to create a UUID, and write it to the defaults database using the NSUserDefaults class.

CFUUIDCreate will return a unique handset identifier that is unique to your application. You need to store it in NSUserDefaults because it will change if you make subsequent calls. For most uses this will suffice, and it's not as if Apple didn't provide enough warning of this change (iOS 5 has been out for over six months now, and the developer docs for longer).

The other scenario is where you need to share your device identifier across applications (ie, mobile advertising networks). That's a more complex problem, with a number of alternative options (there's also no guarantee they'll remain around in the future: Apple's primary reason for deprecating the UDID API is presumably to stop cross application user tracking).

like image 166
lxt Avatar answered Oct 20 '22 00:10

lxt