henryaz
henryaz

Reputation: 880

Short of jailbreaking, does a UDID ever change on an iDevice?

I have a beta tester to whom, 4 months after the last beta test cycle, I sent a new versions' first beta test of an app. When she said that it wouldn't load, we checked her UDID, and it is different than what we used 4 months ago, so my provisioning clearly didn't work.

She says it's the same device used before.

I've yet to further explore what upgrades she might have done or if she (or maybe her child?) has jail-broken it.

Are there any Apple sanctioned actions that would change the UDID on a device?

If you jail break a device, do you need to take further action (e.g., install something with code like UDIDFaker) for the UDID to change?

Thanks!
Henry

Upvotes: 3

Views: 6901

Answers (3)

WrightsCS
WrightsCS

Reputation: 50727

No, the Unique Device ID will always stay the same, and the property is read-only, as you mentioned other than jailbreaking and spoofing a UDID.

Apple has to have a way to identify millions of devices uniquely, so this is why they created the UDID.

Upvotes: 2

Guillaume
Guillaume

Reputation: 21736

I didn't find any official word on whether the UDID can change.
But the documentation, while not being explicit, says the following (in UIDevice Class Reference):

A UDID is a hash value composed from various hardware identifiers such as the device serial number. It is guaranteed to be unique for each device. The UDID is independent of the device name. For devices that use a SIM (subscriber identity module) card, the UDID is independent of the SIM card.

Based on this, I continue to assume that the UDID of a device never change.

You might ask your beta-tester if the device was repaired by Apple, or (more likely), if she changed her device in between. If the device was "repaired", its not impossible that Apple just swapped it with a new one, and she did not realize.

Upvotes: 3

zrzka
zrzka

Reputation: 21249

UDID can't be modified. You can "change" it for one application for example, it's called spoofing, but it's not permanent - it's useful for debugging for example (swizzling - replace method with custom implementation).

Upvotes: 1

Related Questions