Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPhone/iPad unique identifier BESIDES UUID/UDID?

The project I am on is requesting two (or even three) unique identifiers from the iPhone or iPad. I know, I know... the UDID should be enough but we are trying to see if there are any other unique identifiers that we can use.

I can get the IMEI, serial number, MAC Address, etc. from the phone using the IOKit.framework but apparently this is frowned upon by Apple and any app using this framework will be rejected.

Does anyone have any other ideas, or identifiers that I am missing that could be used?

Thanks!

like image 785
edcincy Avatar asked Apr 08 '11 18:04

edcincy


People also ask

How do I find the UDID of my iPhone and iPad?

Your UDID can be found in Finder. In the Finder sidebar, choose your iPhone, then click area in the header just under your phone's name until you can see the UDID. Then, right click and choose Copy UDID.

Is iPhone serial number same as UDID?

No They are not same. And UDID is hidden number to use for device testing its a unique key that is stored in apple database.


2 Answers

From Apple:

The value in this property remains the same while the app (or another app from the same vendor) is installed on the iOS device. The value changes when the user deletes all of that vendor’s apps from the device and subsequently reinstalls one or more of them.

So if you use [UIDevice identifierForVendor] and the user delete the app and reinstall it, the id will be different(so no real physical device tracking)

Why don't you use SecureUDID?

NSString *domain = @"com.example.app";
NSString *key = @"mykey";
NSString *udid = [SecureUDID UDIDForDomain:domain usingKey:key];

This way, even if the user delete the app and reinstall it, the UDID will be same. This will give you consistent tracking(or whatever you want to do with the UDID). Btw, the above is still permitted from Apple. Have fun.

like image 126
Theodoros80 Avatar answered Oct 30 '22 18:10

Theodoros80


DeviceCheck API in iOS 11 is an interesting solution to get unique Identifier, the advantage it has is - the value will be retained even after the app in uninstalled. So use cases like trial installation and rewards can be effectively controlled by developers.

like image 30
Ashwin G Avatar answered Oct 30 '22 18:10

Ashwin G